Tag: django forms

在Django模型中存储电话号码的最佳方式是什么?

我在这样的model存储电话号码: phone_number = models.CharField(max_length=12) 用户将input一个电话号码,我会使用电话号码进行SMS Authentication这个应用程序将在全球范围内使用。 所以我也需要国家代码。 CharField是存储电话号码的好方法吗? 而且,我如何validation电话号码? 提前致谢

单个Django ModelForm中的多个模型?

是否有可能在django中的单个ModelForm中包含多个模型? 我正在尝试创build一个configuration文件编辑窗体。 所以我需要包含User模型和 UserProfile模型的一些字段。 目前我正在使用这样的2个表格 class UserEditForm(ModelForm): class Meta: model = User fields = ("first_name", "last_name") class UserProfileForm(ModelForm): class Meta: model = UserProfile fields = ("middle_name", "home_phone", "work_phone", "cell_phone") 有没有办法将这些合并成一个forms,或者我只需要创build一个窗体,并处理数据库加载和保存自己?

Django的:我如何添加任意的HTML属性来input表单上的字段?

我有一个像这样的模板呈现的input字段: <div class="field"> {{ form.city }} </div> 其中呈现为: <div class="field"> <input id="id_city" type="text" name="city" maxlength="100" /> </div> 现在假设我想要为呈现的input元素添加一个autocomplete =“off”属性,我该怎么做? 或者onclick =“xyz()”或class =“my-special-css-class”?

将django表单字段更改为隐藏字段

我有一个Django的forms与RegexField (这是非常类似于正常的文本input字段)。 在我看来,在某些情况下我想把这个隐藏起来,尽量保持表格尽可能的相似。 把这个字段变成HiddenInput字段的最好方法是什么? 我知道我可以使用form['fieldname'].field.widget.attr['readonly'] = 'readonly'设置字段的属性form['fieldname'].field.widget.attr['readonly'] = 'readonly' ,我可以用form.initial['fieldname'] = 'mydesiredvalue' 。 但是,这不会改变小部件的forms。 什么是最好的/最django-y /至lesshacky的方式来使这个领域的<input type="hidden"字段?

如何在Django的CharField中添加占位符?

以这个非常简单的forms为例。 class SearchForm(Form): q = forms.CharField(label='search') 这将在模板中呈现: <input type="text" name="q" id="id_q" /> 但是,我想添加“占位符”属性到这个字段的值“search”,以便HTML看起来像这样: <input type="text" name="q" id="id_q" placeholder="Search" /> 最好我想通过一个字典或类似的东西将占位符值传递给表单类中的CharField: q = forms.CharField(label='search', placeholder='Search') 什么是最好的方法来完成这个?

在django Forms中定义css类

假设我有一个表单 class SampleClass(forms.Form): name = forms.CharField(max_length=30) age = forms.IntegerField() django_hacker = forms.BooleanField(required=False) 有没有办法让我在每个字段上定义css类,以便我可以在我的呈现页面中使用基于类的jQuery? 我希望不必手动构build表单。

我怎样才能build立多个提交buttonDjango的forms?

我有一个电子邮件input和两个提交button来订阅和取消订阅通讯: <form action="" method="post"> {{ form_newsletter }} <input type="submit" name="newsletter_sub" value="Subscribe" /> <input type="submit" name="newsletter_unsub" value="Unsubscribe" /> </form> 我也有class级forms: class NewsletterForm(forms.ModelForm): class Meta: model = Newsletter fields = ('email',) 我必须写我自己的clean_email方法,我需要知道button是哪个button被submited。 但是提交button的值不在self.cleaned_data字典中。 我可以得到其他button的值吗?

Django的formsets:首先要求?

这些表单正在展现我想要的完全相反的行为。 我的观点是这样设置的: def post(request): # TODO: handle vehicle formset VehicleFormSetFactory = formset_factory(VehicleForm, extra=1) if request.POST: vehicles_formset = VehicleFormSetFactory(request.POST) else: vehicles_formset = VehicleFormSetFactory() 我的模板看起来像这样: <div id="vehicle_forms"> {{ vehicles_formset.management_form }} {% for form in vehicles_formset.forms %} <h4>Vehicle {{forloop.counter}}</h4> <table> {% include "form.html" %} </table> {% endfor %} </div> 这样它最初只生成1个表格,就像我想要的那样。 但是我想要一个forms是必需的! 当我dynamic地添加空白表单与JavaScript和vehicles_formset.empty_form所有这些额外的forms是必需的,我不想要的。 从文档: formset足够聪明,可以忽略没有改变的多余的表单。 这是第一种forms展示的行为(不是我想要的),而不是额外forms展示的行为(我想要的)。 是否有一些属性,我可以改变,至less使一个表格所需?

在每个页面上放置一个djangologin表单

如果用户没有login,我希望login表单(来自django.contrib.auth的AuthenticationForm)出现在我网站的每个页面上。当用户login时,他们将被redirect到同一页面。 如果出现错误,错误将显示在与表单相同的页面上。 我想你需要一个上下文处理器来为每个模板提供表单。 但是,那么你还需要每个视图来处理张贴的表单? 这是否意味着您需要创build一些中间件? 我有点失落 有没有一个可以接受的方法呢?

Django ModelForm用于多对多字段

考虑以下模型和表单: class Pizza(models.Model): name = models.CharField(max_length=50) class Topping(models.Model): name = models.CharField(max_length=50) ison = models.ManyToManyField(Pizza, blank=True) class ToppingForm(forms.ModelForm): class Meta: model = Topping 当你查看ToppingForm时,它可以让你select什么比萨饼浇头继续,一切都只是丹迪。 我的问题是:如何定义比萨的ModelForm模型,使我能够利用Pizza和Topping之间的多对多关系,并让我selectToppings在比萨上的select?