python - 无法导入 form_for_model

标签 python django django-forms

这是 forms.py

谁能告诉我为什么我无法导入form_for_model 我是否假设 form_for_model 是内置的?

from django import forms
from models import Publisher
from django.forms import form_for_model
PublisherForm = form_for_model(Publisher)
TOPIC_CHOICES = (
      ('general', 'General enquiry'),
      ('bug', 'Bug report'),
      ('suggestion', 'Suggestion'),
      )
class ContactForm(forms.Form):
           topic = forms.ChoiceField(choices=TOPIC_CHOICES)
           message = forms.CharField(widget=forms.Textarea())
           sender = forms.EmailField(required=False)
           def clean_message(self):
                     message = self.clean_data.get('message', '')
                     num_words = len(message.split())
                     if num_words < 4:
                         raise forms.ValidationError("Not enough words!")
                     return message

最佳答案

form_for_model 已弃用,请改用 ModelForm

from django.forms import ModelForm
class ContactForm(ModelForm):
       topic = forms.ChoiceField(choices=TOPIC_CHOICES)
       ....

您可以在以下位置找到文档: https://docs.djangoproject.com/en/1.8/topics/forms/modelforms/#django.forms.ModelForm

关于python - 无法导入 form_for_model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33275792/

相关文章:

python - 如何计算第一个非纳米值以来的值?

python - Django 在多对多关系中获取相关对象

python - 如何为不同分支中的 Django ROOT_URLCONF 设置设置正确的值

Django模型表单同时保存两次发布请求

django - 帖子不显示保存在 django 数据库中的内容

python - 导入错误:无法导入名称 _aligners [biopython]

python - 使用 Python 将很长的二进制字符串编码为可恢复的简单形式的最佳方法?

python - 将数据帧有效转换为大型数据集中的列表

python - html 模板中的 Django for 循环不显示

python - 如何删除或删除 django 中未应用的迁移?