Tag: django forms

我如何限制Django的GenericForeignKey到模型列表?

有没有告诉Django的一种方式,有一个内容types的GenericForeignKey只能指向预定义列表中的模型? 例如,我有4个模型:A,B,C,D和一个包含GenericForeignKey的模型X. 我可以告诉X,GenericForeignKey只允许A和B吗?

Django-Registration&Django-Profile,使用你自己的自定义表单

我正在使用django注册和djangoconfiguration文件来处理注册和configuration文件。 我想在注册时为用户创build一个configuration文件。 我已经创build了一个自定义registry单,并使用以下教程将其添加到了urls.py: http://dewful.com/?p=70 本教程的基本思想是重写默认registry单以同时创buildconfiguration文件。 forms.py – 在我的个人资料的应用程序 from django import forms from registration.forms import RegistrationForm from django.utils.translation import ugettext_lazy as _ from profiles.models import UserProfile from registration.models import RegistrationProfile attrs_dict = { 'class': 'required' } class UserRegistrationForm(RegistrationForm): city = forms.CharField(widget=forms.TextInput(attrs=attrs_dict)) def save(self, profile_callback=None): new_user = RegistrationProfile.objects.create_inactive_user(username=self.cleaned_data['username'], password=self.cleaned_data['password1'], email=self.cleaned_data['email']) new_profile = UserProfile(user=new_user, city=self.cleaned_data['city']) new_profile.save() return […]

dynamic添加字段到表单

我有三个领域在我的forms。 我有一个提交button和一个button“添加额外的字段”。 我知道我可以在表单类中使用__init__方法添加字段。 我是新来的Python和Django,并坚持一个初学者的问题:我的问题是: 当我点击“添加附加字段”button时,添加附加字段的过程是什么? 表单是否需要再次呈现? 我怎样和什么时候打电话__init__或者我甚至不得不打电话? 如何将parameter passing给__init__ ?

Django:使用表单在一个模板中的多个模型

我正在build立一个支持票据跟踪应用程序,并有一些我想从一个页面创build的模型。 门票通过ForeignKey属于一个客户。 Notes也通过ForeignKey属于Tickets。 我想要select一个客户(这是一个单独的项目),或者创build一个新的客户,然后创build一个票据,最后创build一个分配给新票据的票据。 由于我对Django相当陌生,所以我倾向于迭代地工作,每次尝试新的function。 我玩过ModelForms,但我想隐藏一些字段并做一些复杂的validation。 看起来像我正在寻找的控制级别要么需要formset,要么手工完成,完成一个繁琐的,手工编码的模板页面,我试图避免。 有一些可爱的function,我错过了? 有人有一个很好的参考或使用formset的例子吗? 我花了整整一个周末的API文档,我仍然无能为力。 如果我分解并手工编码所有东西,这是否是一个devise问题?

创build一个dynamicselect字段

我在尝试了解如何在django中创builddynamicselect字段时遇到了一些麻烦。 我有一个模型设置类似于: class rider(models.Model): user = models.ForeignKey(User) waypoint = models.ManyToManyField(Waypoint) class Waypoint(models.Model): lat = models.FloatField() lng = models.FloatField() 我想要做的是创build一个select字段whos值是与骑手(这将是login的人)相关的航点。 目前我在我的forms覆盖初始化像这样: 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()]) 但是,所有这些都是列出所有的路标,它们并不与任何特定的骑手相关联。 有任何想法吗? 谢谢。

如何在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 ,每个Companies有一系列的Rates和Clients 。 每个Client应该有一个从母公司的Rate中select的基本Rate ,而不是另一个Company's Rates 。 在创build添加Client的表单时,我想删除Company选项(因为已经通过Company页面上的“添加客户端”buttonselect了该选项),并限制该Company的Rate选项。 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 import […]