คำถามติดแท็ก django-forms

คำถามเฉพาะที่เกี่ยวข้องกับแบบฟอร์มด้วยเว็บเฟรมเวิร์ก Django

6
Django ตั้งค่าแบบฟอร์มเริ่มต้น
ฉันมีโมเดลดังนี้: class TankJournal(models.Model): user = models.ForeignKey(User) tank = models.ForeignKey(TankProfile) ts = models.IntegerField(max_length=15) title = models.CharField(max_length=50) body = models.TextField() ฉันยังมีรูปแบบโมเดลสำหรับโมเดลด้านบนดังนี้: class JournalForm(ModelForm): tank = forms.IntegerField(widget=forms.HiddenInput()) class Meta: model = TankJournal exclude = ('user','ts') ฉันต้องการทราบวิธีการตั้งค่าเริ่มต้นสำหรับฟิลด์ที่ซ่อนรถถังนั้น นี่คือหน้าที่ของฉันที่จะแสดง / บันทึกฟอร์ม: def addJournal(request, id=0): if not request.user.is_authenticated(): return HttpResponseRedirect('/') # checking if they own the …

7
ฉันจะกรองตัวเลือก ForeignKey ใน Django ModelForm ได้อย่างไร
พูดว่าฉันมีดังต่อไปนี้ในของฉันmodels.py: class Company(models.Model): name = ... class Rate(models.Model): company = models.ForeignKey(Company) name = ... class Client(models.Model): name = ... company = models.ForeignKey(Company) base_rate = models.ForeignKey(Rate) คือมีหลายCompaniesแต่ละคนมีช่วงของและRates Clientsแต่ละคนClientควรจะมีฐานRateที่ได้รับการแต่งตั้งจากผู้ปกครองไม่ได้อีกCompany's RatesCompany's Rates เมื่อสร้างแบบฟอร์มสำหรับการเพิ่มClientฉันต้องการลบCompanyตัวเลือก (เนื่องจากได้ถูกเลือกผ่านปุ่ม "เพิ่มลูกค้า" ในCompanyหน้า) และ จำกัดRateตัวเลือกCompanyเช่นกัน ฉันจะไปเกี่ยวกับเรื่องนี้ใน Django 1.0 ได้อย่างไร ปัจจุบันของฉันforms.pyไฟล์เป็นเพียงต้นแบบในขณะนี้: from models import * from django.forms import ModelForm class ClientForm(ModelForm): …

8
ฉันจะเพิ่มตัวยึดตำแหน่งบน CharField ใน Django ได้อย่างไร
ยกตัวอย่างง่ายๆนี้: class SearchForm(Form): q = forms.CharField(label='search') สิ่งนี้แสดงผลในเทมเพลต: <input type="text" name="q" id="id_q" /> อย่างไรก็ตามฉันต้องการเพิ่มแอplaceholderททริบิวในฟิลด์นี้ด้วยค่าSearchที่ HTML จะมีลักษณะดังนี้: <input type="text" name="q" id="id_q" placeholder="Search" /> โดยเฉพาะอย่างยิ่งฉันต้องการส่งค่าตัวยึดตำแหน่งในCharFieldคลาสฟอร์มผ่านพจนานุกรมหรือสิ่งที่ชอบ: q = forms.CharField(label='search', placeholder='Search') อะไรจะเป็นวิธีที่ดีที่สุดในการบรรลุเป้าหมายนี้?

13
กำหนดคลาส CSS ในแบบฟอร์ม django
สมมติว่าฉันมีแบบฟอร์ม class SampleClass(forms.Form): name = forms.CharField(max_length=30) age = forms.IntegerField() django_hacker = forms.BooleanField(required=False) มีวิธีที่ฉันจะกำหนดคลาส CSS ในแต่ละเขตข้อมูลที่ฉันสามารถใช้ jQuery ตามชั้นเรียนในหน้าการแสดงผลของฉันได้หรือไม่ ฉันหวังว่าจะไม่ต้องสร้างแบบฟอร์มด้วยตนเอง

2
สร้างชุดแบบสอบถามว่างเปล่าโดยค่าเริ่มต้นในเขตข้อมูลแบบฟอร์ม django
ฉันมีสาขานี้ในรูปแบบ: city = forms.ModelChoiceField(label="city", queryset=MyCity.objects.all()) district = forms.ModelChoiceField(label="district", queryset=MyDistrict.objects.all()) area = forms.ModelChoiceField(label="area", queryset=MyArea.objects.all()) อำเภอมาจากการคลิกที่เมืองและพื้นที่มาจากการคลิกที่พื้นที่ กับ queryset=MyDistrict.objects.all()และqueryset=MyArea.objects.all()รูปแบบจะหนักมาก ฉันจะทำให้ชุดข้อความค้นหาว่างเปล่าเป็นค่าเริ่มต้นได้อย่างไร

5
ฉันจะสร้างฟอร์ม django แบบหลายปุ่มได้อย่างไร
ฉันมีรูปแบบเดียวกับที่ป้อนสำหรับอีเมลและปุ่มส่งสองปุ่มเพื่อสมัครและยกเลิกการสมัครรับจดหมายข่าว: <form action="" method="post"> {{ form_newsletter }} <input type="submit" name="newsletter_sub" value="Subscribe" /> <input type="submit" name="newsletter_unsub" value="Unsubscribe" /> </form> ฉันมีแบบฟอร์มชั้นเรียนด้วย: class NewsletterForm(forms.ModelForm): class Meta: model = Newsletter fields = ('email',) ฉันต้องเขียนวิธี clean_email ของตัวเองและฉันต้องรู้ว่าปุ่มใดที่ถูกส่งแบบฟอร์ม แต่ค่าของปุ่มส่งไม่ได้อยู่ในself.cleaned_dataพจนานุกรม ฉันสามารถรับค่าของปุ่มเป็นอย่างอื่นได้หรือไม่?

12
Django ผ่านพารามิเตอร์ฟอร์มที่กำหนดเองไปยัง Formset
นี้ได้รับการแก้ไขใน Django 1.9 กับform_kwargs ฉันมีแบบฟอร์ม Django ที่มีลักษณะเช่นนี้: class ServiceForm(forms.Form): option = forms.ModelChoiceField(queryset=ServiceOption.objects.none()) rate = forms.DecimalField(widget=custom_widgets.SmallField()) units = forms.IntegerField(min_value=1, widget=custom_widgets.SmallField()) def __init__(self, *args, **kwargs): affiliate = kwargs.pop('affiliate') super(ServiceForm, self).__init__(*args, **kwargs) self.fields["option"].queryset = ServiceOption.objects.filter(affiliate=affiliate) ฉันเรียกแบบฟอร์มนี้ด้วยสิ่งนี้: form = ServiceForm(affiliate=request.affiliate) request.affiliateผู้ใช้ที่เข้าสู่ระบบอยู่ที่ไหน ใช้งานได้ตามที่ตั้งใจ ปัญหาของฉันคือตอนนี้ฉันต้องการที่จะเปลี่ยนรูปแบบเดียวนี้เป็นชุด สิ่งที่ฉันไม่สามารถทราบได้คือฉันจะส่งข้อมูลพันธมิตรไปยังแต่ละฟอร์มได้อย่างไรเมื่อสร้างชุดข้อมูล ตามเอกสารที่จะสร้างชุดจากนี้ฉันต้องทำอะไรเช่นนี้: ServiceFormSet = forms.formsets.formset_factory(ServiceForm, extra=3) แล้วฉันต้องสร้างมันแบบนี้: formset = ServiceFormSet() ตอนนี้ฉันจะส่ง …

15
CSS สไตล์ในรูปแบบ Django
ฉันต้องการสไตล์ดังต่อไปนี้: forms.py: from django import forms class ContactForm(forms.Form): subject = forms.CharField(max_length=100) email = forms.EmailField(required=False) message = forms.CharField(widget=forms.Textarea) contact_form.html: <form action="" method="post"> <table> {{ form.as_table }} </table> <input type="submit" value="Submit"> </form> ตัวอย่างเช่นฉันจะตั้งค่าระดับหรือIDสำหรับsubject, email, messageเพื่อให้เป็นแผ่นลักษณะภายนอก?
150 css  django  django-forms 

8
การสร้างฟิลด์ตัวเลือกแบบไดนามิก
ฉันมีปัญหาในการพยายามทำความเข้าใจวิธีสร้างฟิลด์ตัวเลือกไดนามิกใน django ฉันมีโมเดลที่ตั้งค่าบางอย่างเช่น: class rider(models.Model): user = models.ForeignKey(User) waypoint = models.ManyToManyField(Waypoint) class Waypoint(models.Model): lat = models.FloatField() lng = models.FloatField() สิ่งที่ฉันพยายามทำคือสร้างตัวเลือกฟิลด์ whos ค่าคือจุดอ้างอิงที่เชื่อมโยงกับผู้ขับขี่คนนั้น (ซึ่งน่าจะเป็นบุคคลที่ล็อกอิน) ตอนนี้ฉันกำลังลบล้าง init ในแบบฟอร์มของฉันดังนี้: class waypointForm(forms.Form): def __init__(self, *args, **kwargs): super(joinTripForm, self).__init__(*args, **kwargs) self.fields['waypoints'] = forms.ChoiceField(choices=[ (o.id, str(o)) for o in Waypoint.objects.all()]) แต่สิ่งที่ทำคือรายการจุดอ้างอิงทั้งหมดพวกเขาไม่เกี่ยวข้องกับผู้ขับขี่รายใดรายหนึ่ง ความคิดใด ๆ ? ขอบคุณ.

7
วิธีใดเป็นวิธีที่ดีที่สุดในการจัดเก็บหมายเลขโทรศัพท์ในโมเดล Django
ฉันกำลังจัดเก็บหมายเลขโทรศัพท์ในmodelลักษณะนี้: phone_number = models.CharField(max_length=12) ผู้ใช้จะต้องป้อนหมายเลขโทรศัพท์และฉันจะใช้หมายเลขโทรศัพท์สำหรับSMS Authenticationแอปพลิเคชันนี้จะใช้ทั่วโลก ดังนั้นฉันต้องใช้รหัสประเทศด้วย เป็นCharFieldวิธีที่ดีในการจัดเก็บหมายเลขโทรศัพท์? และฉันจะตรวจสอบหมายเลขโทรศัพท์ได้อย่างไร?

7
เปลี่ยนฟิลด์ฟอร์ม Django เป็นฟิลด์ที่ซ่อนอยู่
ฉันมีรูปแบบ Django ที่มี a RegexFieldซึ่งคล้ายกับช่องป้อนข้อความปกติมาก ในมุมมองของฉันภายใต้เงื่อนไขบางประการฉันต้องการซ่อนมันจากผู้ใช้และพยายามรักษาแบบฟอร์มให้คล้ายกันมากที่สุด วิธีใดที่ดีที่สุดในการเปลี่ยนสนามนี้ให้กลายเป็นHiddenInputสนาม ฉันรู้ว่าฉันสามารถตั้งค่าคุณสมบัติในฟิลด์ด้วย: form['fieldname'].field.widget.attr['readonly'] = 'readonly' และฉันสามารถตั้งค่าเริ่มต้นที่ต้องการด้วย: form.initial['fieldname'] = 'mydesiredvalue' อย่างไรก็ตามจะไม่เปลี่ยนรูปแบบของวิดเจ็ต วิธีใด "django-y" ที่ดีที่สุด / น้อยที่สุด / น้อยที่สุดในการทำให้ช่องนี้เป็น<input type="hidden">ช่อง

8
เทมเพลต Django: ตัวเลือกเวอร์ชัน verbose
ฉันมีโมเดล: from django.db import models CHOICES = ( ('s', 'Glorious spam'), ('e', 'Fabulous eggs'), ) class MealOrder(models.Model): meal = models.CharField(max_length=8, choices=CHOICES) ฉันมีแบบฟอร์ม: from django.forms import ModelForm class MealOrderForm(ModelForm): class Meta: model = MealOrder และฉันต้องการใช้ formtools.preview เทมเพลตเริ่มต้นจะพิมพ์ตัวเลือกแบบสั้น ('e' แทน 'Fabulous eggs') เนื่องจากใช้ {% for field in form %} <tr> <th>{{ field.label …

7
Django: หลายรุ่นในเทมเพลตเดียวโดยใช้แบบฟอร์ม [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังสร้างแอพติดตามตั๋วสนับสนุนและมีโมเดลสองสามแบบที่ฉันต้องการสร้างจากหน้าเดียว ตั๋วเป็นของลูกค้าผ่าน ForeignKey หมายเหตุเป็นของตั๋วผ่าน ForeignKey เช่นกัน ฉันต้องการมีตัวเลือกในการเลือกลูกค้า (ซึ่งเป็นโปรเจ็กต์แยกกันทั้งหมด) หรือสร้างลูกค้าใหม่จากนั้นสร้างตั๋วและสุดท้ายสร้างโน้ตที่กำหนดให้กับตั๋วใหม่ เนื่องจากฉันค่อนข้างใหม่กับ Django ฉันจึงมักจะทำงานซ้ำ ๆ พยายามใช้คุณสมบัติใหม่ ๆ ทุกครั้ง ฉันเคยเล่นกับ ModelForms แต่ฉันต้องการซ่อนบางฟิลด์และทำการตรวจสอบความถูกต้องที่ซับซ้อน ดูเหมือนว่าระดับการควบคุมที่ฉันกำลังมองหาไม่ว่าจะต้องใช้ชุดฟอร์มหรือทำทุกอย่างด้วยมือพร้อมหน้าเทมเพลตที่เขียนโค้ดด้วยมือที่น่าเบื่อซึ่งฉันพยายามหลีกเลี่ยง มีคุณสมบัติที่น่ารักบางอย่างที่ฉันขาดหายไปหรือไม่? มีใครมีข้อมูลอ้างอิงหรือตัวอย่างที่ดีสำหรับการใช้ formets หรือไม่? ฉันใช้เวลาทั้งสัปดาห์กับเอกสาร API สำหรับพวกเขาและฉันก็ยังไม่รู้ตัว เป็นปัญหาในการออกแบบหรือไม่ถ้าฉันทำรายละเอียดและเขียนโค้ดด้วยมือ

7
แบบฟอร์ม Django: หากไม่ถูกต้องให้แสดงแบบฟอร์มพร้อมข้อความแสดงข้อผิดพลาด
แบบฟอร์ม I Django สามารถตรวจสอบว่าแบบฟอร์มถูกต้องหรือไม่: if form.is_valid(): return HttpResponseRedirect('/thanks/') แต่ฉันพลาดที่จะทำอย่างไรถ้ามันไม่ถูกต้อง? ฉันจะส่งคืนแบบฟอร์มพร้อมข้อความแสดงข้อผิดพลาดได้อย่างไร ฉันไม่เห็น "else" ในตัวอย่างใด ๆ

6
ฉันจะใช้ CSS ใน Django ได้อย่างไร
ฉันกำลังสร้างแอปพลิเคชันโดยใช้ Django และฉันสงสัยว่าฉันจะทำให้ Django ใช้ไฟล์ CSS ของฉันได้อย่างไร ต้องตั้งค่าอะไรบ้างเพื่อให้ Django เห็นไฟล์ css หมายเหตุ: บนเครื่องท้องถิ่น
110 css  django  django-forms 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.