Tag: django forms

Django的pipe理员:使用一个自定义的部件只有一个模型领域

我在我的模型中有一个DateTimeField字段。 我想在Djangopipe理站点中将其显示为一个checkbox小部件。 为此,我创build了一个自定义表单小部件。 但是,我不知道如何使用我的自定义小部件只有这一个领域。 Django文档解释了如何为特定types的所有字段使用自定义小部件: class StopAdmin(admin.ModelAdmin): formfield_overrides = { models.DateTimeField: {'widget': ApproveStopWidget } } 虽然这不够精细。 我只想改变它只有一个领域。

如果不创build表单,我可以在Django中创build一个不需要的pipe理域吗?

每当我在Django的Admin部分input一个新玩家时,我都会得到一个错误消息,说“这个字段是必需的”。 有没有办法让一个字段不需要,而不必创build一个自定义表单? 我可以在models.py或admin.py中执行此操作吗? 这是我的models.py类看起来像。 class PlayerStat(models.Model): player = models.ForeignKey(Player) rushing_attempts = models.CharField( max_length = 100, verbose_name = "Rushing Attempts" ) rushing_yards = models.CharField( max_length = 100, verbose_name = "Rushing Yards" ) rushing_touchdowns = models.CharField( max_length = 100, verbose_name = "Rushing Touchdowns" ) passing_attempts = models.CharField( max_length = 100, verbose_name = "Passing Attempts" ) 谢谢

django模板中的“none”是什么?

我想看看一个字段/variables是否在Django模板中没有。 什么是正确的语法? 这是我现在有: {% if profile.user.first_name is null %} <p> — </p> {% elif %} {{ profile.user.first_name }} {{ profile.user.last_name }} {% endif%} 在上面的例子中,我会用什么来replace“null”?

更改使用Django中的ModelForm创build的表单元素的宽度

如何使用ModelForm创build它,如何更改textarea表单元素的宽度? 这是我的产品类: class ProductForm(ModelForm): long_desc = forms.CharField(widget=forms.Textarea) short_desc = forms.CharField(widget=forms.Textarea) class Meta: model = Product 和模板代码… {% for f in form %} {{ f.name }}:{{ f }} {% endfor %} f是实际的表单元素…

Django表单 – 标签

我有一个从其他两种formsinheritance的forms。 在我的表单中,我想更改在其中一个父窗体中定义的字段的标签。 有谁知道这可以做到吗? 我正在尝试在我的__init__执行它,但是它会抛出一个错误,说''RegistrationFormTOS'对象没有'email'属性。 有谁知道我怎么能做到这一点? 谢谢。 这是我的表单代码: from django import forms from django.utils.translation import ugettext_lazy as _ from registration.forms import RegistrationFormUniqueEmail from registration.forms import RegistrationFormTermsOfService attrs_dict = { 'class': 'required' } class RegistrationFormTOS(RegistrationFormUniqueEmail, RegistrationFormTermsOfService): """ Subclass of “RegistrationForm“ which adds a required checkbox for agreeing to a site's Terms of Service. """ email2 = forms.EmailField(widget=forms.TextInput(attrs=dict(attrs_dict, […]

覆盖Django ModelForm中的保存方法

我无法覆盖ModelForm保存方法。 这是我收到的错误: Exception Type: TypeError Exception Value: save() got an unexpected keyword argument 'commit' 我的意图是有一个表单提交3个字段的许多值,然后为这些字段的每个组合创build一个对象,并保存每个对象。 有用的推动是正确的方向将是王牌。 文件models.py class CallResultType(models.Model): id = models.AutoField(db_column='icontact_result_code_type_id', primary_key=True) callResult = models.ForeignKey('CallResult', db_column='icontact_result_code_id') campaign = models.ForeignKey('Campaign', db_column='icampaign_id') callType = models.ForeignKey('CallType', db_column='icall_type_id') agent = models.BooleanField(db_column='bagent', default=True) teamLeader = models.BooleanField(db_column='bTeamLeader', default=True) active = models.BooleanField(db_column='bactive', default=True) 文件forms.py from django.forms import ModelForm, ModelMultipleChoiceField from callresults.models […]

Django中唯一的BooleanField值?

假设我的models.py是这样的: class Character(models.Model): name = models.CharField(max_length=255) is_the_chosen_one = models.BooleanField() 我只希望我的一个Character实例具有is_the_chosen_one == True而其他所有人都有is_the_chosen_one == False 。 我怎样才能最好地确保这个唯一性约束得到尊重? 考虑到尊重数据库,模型和(pipe理员)表单层级的约束的重要性的答案的顶部标记!

“Django:模型表单”对象没有属性'cleared_data'“

我正在为我的一个课程做一个search表单。 表格的模型是: from django import forms from django.forms import CharField, ModelMultipleChoiceField, ModelChoiceField from books.models import Book, Author, Category class SearchForm(forms.ModelForm): authors = ModelMultipleChoiceField(queryset=Author.objects.all(),required=False) category = ModelChoiceField (queryset=Category.objects.all(),required=False) class Meta: model = Book fields = ["title"] 而我使用的视图是: from django.shortcuts import render_to_response, redirect, get_object_or_404 from django.template import RequestContext from books.models import Book,Author from books.forms import BookForm, SearchForm […]

Djangoforms,inheritance和表单字段的顺序

我在我的网站中使用Django表单,并希望控制字段的顺序。 以下是我如何定义我的表单: class edit_form(forms.Form): summary = forms.CharField() description = forms.CharField(widget=forms.TextArea) class create_form(edit_form): name = forms.CharField() 该名称是不可变的,只应在实体创build时列出。 我使用inheritance来增加一致性和DRY原则。 事实上完全可以预见的是,没有错误的是,名称字段在view / html中最后列出,但是我希望名称字段位于摘要和描述之上。 我意识到,我可以通过将摘要和描述复制到create_form中,并松开inheritance来轻松修复它,但是我想知道这是否可能。 为什么? 想象一下,在edit_form中有100个字段,并且在create_form的顶部必须添加10个字段 – 复制和维护这两个表单看起来并不那么性感。 (这不是我的情况,我只是做一个例子) 那么,我该如何重写这个行为呢? 编辑: 显然没有经过讨厌的黑客(摆弄.field属性)没有正确的方法来做到这一点。 .field属性是一个SortedDict(Django的内部数据结构之一),它不提供任何重新sorting键值对的方法。 它确实提供了一种在给定索引处插入项目的方法,但是这会将项目从类成员移动到构造器中。 这个方法可以工作,但是使代码更不可读。 我认为唯一的另一种方式是修改框架本身,这在大多数情况下是不太理想的。 总之,代码会变成这样的: class edit_form(forms.Form): summary = forms.CharField() description = forms.CharField(widget=forms.TextArea) class create_form(edit_form): def __init__(self,*args,**kwargs): forms.Form.__init__(self,*args,**kwargs) self.fields.insert(0,'name',forms.CharField()) 那让我闭嘴:)

自定义/删除Djangoselect框空白选项

我正在使用Django 1.0.2。 我写了一个由Model支持的ModelForm。 这个模型有一个ForeignKey,其中blank = False。 当Django为这个表单生成HTML时,它会为ForeignKey引用的表中的每一行创build一个select框。 它还会在列表顶部创build一个没有值的选项,并显示为一系列破折号: <option value="">———</option> 我想知道的是: 从select框中删除这个自动生成选项的最简洁的方法是什么? 什么是最简洁的方式来定制它,使其显示为: <option value="">Select Item</option> 在寻找解决scheme时,我遇到了Django票据4653 ,这给我的印象是,其他人有同样的问题,Django的默认行为可能已被修改。 这张票已经一年多了,所以我希望有一个更清洁的方式来完成这些事情。 谢谢你的帮助, 杰夫 编辑:我已经这样configurationForeignKey字段: verb = models.ForeignKey(Verb, blank=False, default=get_default_verb) 这确实设置了默认值,以便它不再是空的/破折号选项,但不幸的是,它似乎并没有解决我的任何一个问题。 也就是说,空/破折号选项仍然出现在列表中。