与Django Web框架的表单相关的特定问题
django admin 中的动态字段来自 __init__ 表单方法
我有一些型号: 类变体(模型.模型): 名称 = models.CharField(max_length=100) def __str__(自身): 返回自己的名字 类 VariationOption(models.Model): 值 = 莫...
是否有在 Model.clean() 之后运行的 ModelAdmin 方法?
我在模型的 clean() 方法中引发 ValidationError 从 django.core.exceptions 导入 ValidationError 类 PosDetail(models.Model, PosDetailChecksMixin): self._errors = set() ... ...
允许在 Django Admin 中编辑 editable=False 字段
DRF 将在字段上使用 editable=False 将序列化器默认为只读。这是我利用的一个非常有用/安全的默认设置(即我不会忘记将序列化器设置为只读......
无法使内联表单集与 Django 5.1 中基于类的视图一起使用
我有以下 Django 结构。我使用最新的 Django 版本 5.1。我还检查了 4.2.15 版本,问题仍然存在。 我的目标是让 Formset 与基于类的视图一起使用。任何...
相当于 Django 形式的 <input id="id">
我正在尝试将(a.js 文件)中的自动完成结果输入到 Django 表单(html)中。 目前 html 文件如下所示: 模板: 我正在尝试将(a.js 文件)中的自动完成结果输入到 Django 表单(html)中。 当前 html 文件如下所示: 模板: <input class="field" id="street_number" disabled="true" /> 显然,我无法直接输入{{form.street_number}}。我发现了一些关于这个主题的帖子(特别是这个:How to get form fields' id in Django),但我不太确定理解这是如何解决问题的。 .js 文件 function initAutocomplete(){ autocomplete = new google.maps.places.Autocomplete(document.getElementById("autocomplete"),{ componentRestrictions: {'country':['uk']}, fields: ['name','geometry','address_components'], types:['establishment','geocode'] }); autocomplete.addListener('place_changed', fillInAddress ); } function fillInAddress(){ // Get the place details from the autocomplete object. var place = autocomplete.getPlace(); //showsdiffrent address components (click on 'inspect' on webpage to see) console.log(place); document.getElementById('business').value = place.name; //loop through address components detailed in consol for (let i = 0; i < place.address_components.length; i++) { for (let j = 0; j < place.address_components[i].types.length; j++) { ... if (place.address_components[i].types[j] === "street_number") { document.getElementById('street_number').value = place.address_components[i].short_name; } ... 我想问题是如何将 <input id="id"> 翻译成 django 形式术语?也许有可能在 django form.py 本身中应用 id? 我尝试了此处找到的解决方案,但收到错误消息,提示 TextInput 未定义。 forms.py: class VenueForm(ModelForm): address = forms.CharField(max_length=100, required=True, widget = forms.HiddenInput()) class Meta: model = Venue fields = ['address'] def __init__(self, *args, **kwargs): super(VenueForm, self).__init__(*args, **kwargs) self.fields['address'].widget = TextInput(attrs={ 'id': 'street_number'}) 我相信你使用id错了: <input class="field" name="my_test_name" value="my_test_value" id="street_number" disabled="true" /> 在上面的例子中: id 适用于您的 html、css 和 javascript to identify 这个特定的 input。你不需要 django 的 id 属性,只需要前端。 如果您想要 recieve data in django,例如您在带有 POST 请求的表单中使用此输入,您可以通过 name 识别此输入,并且 recieve 其 value(来自值属性) def my_function_name(request): my_value = request.POST['my_test_name'] print(my_value) #output will be >> my_test_value 此外,您不需要覆盖您的 ModelForm,您可以在表单下方添加此 input,它将正常工作 好的,这是我找到的解决方案。 阅读不同的帖子,可能有更复杂的方法来解决问题,但这个对我有用。对于像我这样的其他初学者来说可能也更有益,因为这个解决方案很容易理解。 我基本上为 forms.py 中的每个表单字段创建了一个 id。如果表单中没有此 id,django 不会在 .js 文件中分配的 ID 与模板中的表单字段之间建立链接。 forms.py class VenueForm(ModelForm): street_number = forms.CharField(max_length=100, label = '', widget = forms.TextInput(attrs={'id':"street_number"})) 模板 <form id="venueform" method="POST"> {% csrf_token %} {{ form|as_crispy_errors }} <td class="label">Street Number </td> {{form.street_number| as_crispy_field}} </form> .js 文件(未更改) function initAutocomplete(){ autocomplete = new google.maps.places.Autocomplete(document.getElementById("autocomplete"),{ componentRestrictions: {'country':['uk']}, fields: ['name','geometry','address_components'], types:['establishment','geocode'] }); autocomplete.addListener('place_changed', fillInAddress ); } function fillInAddress(){ // Get the place details from the autocomplete object. var place = autocomplete.getPlace(); //showsdiffrent address components (click on 'inspect' on webpage to see) console.log(place); document.getElementById('business').value = place.name; //loop through address components detailed in consol for (let i = 0; i < place.address_components.length; i++) { for (let j = 0; j < place.address_components[i].types.length; j++) { ... if (place.address_components[i].types[j] === "street_number") { document.getElementById('street_number').value = place.address_components[i].short_name; } ... Oruchin 的解决方案没有回答问题。它承认需要一个“id”才能将 javascript 附加到表单元素,但随后又说不需要,而 PhilM 的答案显示了如何在表单类中添加属性。
我有一个模型: 类 UserPreferencesForm(ModelForm): ”“” 用于存储用户首选项的表单。 ”“” 类元: 模型 = 用户首选项
我的 html 文件有一些问题,但我无法弄清楚问题到底是什么。 任何人都可以确定真正的问题是什么。 这是我正在使用的 Html: 注册.html {% 包括“用户/布局...
Django 错误:“‘ChoiceField’对象没有属性‘is_hidden’”
Django 模板在渲染时抛出“AttributeError”。我想要实现的是,在模板中,解析的表单将包含一个选择框,其中包含下面列表中的值。 这是福...
指定隐藏 ModelChoiceField 的默认值 (Django)
所以假设在最后一刻(在视图中)我决定为字段指定默认值并将其隐藏,如下所示: form.fields['椰子'] = forms.ModelChoiceField( 标签=“”,...
Django 更改表单是否有任何简单的方法可以在提交后禁用按钮。我想防止用户同时提交两次表单!
那么,是否可以编辑默认的 Django 二因素身份验证登录页面?我将文件从虚拟环境复制到项目目录,但它仍然使用默认的 Django
在此输入图像描述 PS C:\Users aipe irstproject> & C:/Users/taipe/AppData/Local/Programs/Python/Python312/python.exe c:/Users/taipe/firstproject/firstproject/urls.py 追溯(米...
为什么可以使用 ManyToManyField 创建模型而不为 ManyToManyField 提供值?
由于 django 模型中的每个字段都是必需的。那么,当创建一个模型对象时,该对象具有与另一个模型具有多对多关系的字段。我们可以创建这个模型对象而无需
Django 中 UserCreationForm 中基于密码的身份验证是什么以及如何删除它?
我制作了一个继承自 UserCreationForm 的表单,并使用继承 CreateView 的基于类的视图,当我使用 runserver 并显示表单时,底部有一个基于密码的部分
在我遵循的教程中,我没有看到这一点,所以我认为这是因为我最近将 django 更新到了 5.1。 现在,django 注册视图上出现了这个新框。上面写着: 基于密码的身份验证...
我制作了一个继承自 UserCreationForm 的表单,并使用继承 CreateView 的基于类的视图,当我使用 runserver 并显示表单时,底部有一个基于密码的部分
如何在admin之外使用Django-import-export ImportForm和ConfirmImportForm
我想使用 django-import-export 的表单来为普通用户实现导入功能,因此它需要位于管理部分之外。 到目前为止,我发现的所有实现都是关于 一)
Django 的redirect() 函数退化 | Django 无法理解术语“重定向”是什么
编辑:更新 这让每个人都知道,如果您打算使用重定向功能,它将拒绝重定向。 正在向有关方面汇报此事,但目前……
我现在简直可以尖叫。 如果这不是一个问题,那就是另一个问题。 对于 Python 来说,弄清楚函数重定向是什么如此困难? 为什么它不是重定向器,尽管我有王牌......
其背后的正当理由是什么: 如果结果为 false,则无法重定向到适当的错误页面 告诉我描述字段显然无效,但实际上它不是(经测试...