Questions tagged «django-forms»

与Django Web框架有关的表单的特定问题

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 tank from django.contrib.auth.models …

7
如何在Django ModelForm中过滤ForeignKey选择?
说我的内容如下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 Rates不是另一个Company's Rates。 创建用于添加的表单时Client,我想删除Company选择(因为已经通过Company页面上的“添加客户端”按钮Rate选择了该选项),并且也将选择限制在此范围内Company。 我该如何在Django 1.0中做到这一点? 目前,我当前的forms.py文件只是样板: from models import * from django.forms import ModelForm class ClientForm(ModelForm): class Meta: model = Client 而且views.py也是基本的: from django.shortcuts …

8
如何在Django的CharField上添加占位符?
以这个非常简单的形式为例: 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
在Django Forms中定义CSS类
假设我有一个表格 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() 现在如何以这种方式将affiliate = request.affiliate传递给各个表单?

15
Django表单中的CSS样式
我想样式如下: 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表单字段更改为隐藏字段
我有一个带的Django表单,与RegexField正常的文本输入字段非常相似。 我认为,在某些情况下,我想对用户隐藏它,并尝试使表单尽可能相似。将这个领域变成一个HiddenInput领域的最好方法是什么? 我知道我可以使用以下方法在字段上设置属性: form['fieldname'].field.widget.attr['readonly'] = 'readonly' 我可以通过以下方式设置所需的初始值: form.initial['fieldname'] = 'mydesiredvalue' 但是,这不会更改小部件的形式。 什么是使此字段成为<input type="hidden">字段的最佳/最“ django-y” /最不“ hacky”的方法?

8
Django模板:选择的详细版本
我有一个模型: 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”而不是“ Fabricous eggs”),因为它使用了 {% for field in form %} <tr> <th>{{ field.label }}:</th> <td>{{ field.data }}</td> …

7
Django:使用形式在一个模板中的多个模型
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 我正在构建一个支持票证跟踪应用程序,并希望从一个页面创建一些模型。票证通过ForeignKey属于客户。注释也通过ForeignKey属于票证。我想选择一个客户(这是一个单独的项目)或创建一个新客户,然后创建一个工单,最后创建一个分配给新工单的便笺。 由于我是Django的新手,因此我倾向于反复工作,每次尝试新功能。我玩过ModelForms,但是我想隐藏一些字段并进行一些复杂的验证。似乎我正在寻找的控制级别需要表单集或手动完成所有操作,并完成一个繁琐的手工编码模板页面,而我试图避免这种情况。 我缺少一些可爱的功能吗?有人对使用表单集有很好的参考或示例吗?我花了整个周末为他们准备API文档,但我仍然一无所知。如果我分解并手工编码所有内容,这是设计问题吗?



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.