【问题标题】:Django: form not displaying in browserDjango:表单未在浏览器中显示
【发布时间】:2020-03-29 17:47:59
【问题描述】:

表单不显示在浏览器中。导航栏和提交按钮出现,但中间没有表单。问题一定很简单,但我一直没能找到问题所在。感谢您的帮助。

views.py

def ProductCreateView(request):
if request.method == 'POST':
    form = ProductForm(request.POST)
    if form.is_valid():
        form.save()
        return HttpResponseRedirect(reverse('set_app/product_list.html'))
else:
    product_form = ProductForm()
return render(request, 'set_app/product_form.html', {'product_form':product_form})

forms.py

class ProductForm(forms.Form):
class Meta():
    model = models.Product
    fields = ('code', 'barcode', 'name', 'description', 'brand', 'status')

product_form.html

{% extends "set_app/basic_app_base.html" %}
{% block body_block %}
    <h1>
        {% if not form.instance.pk %}
            Create Product
        {% else %}
            Update Product
        {% endif %}
    </h1>
    <form method="post">
        {% csrf_token %}
        {{ product_form.as_p }}
        <input type="submit" class="btn btn-primary" value="Submit">
    </form>
{% endblock %}

【问题讨论】:

    标签: django forms


    【解决方案1】:

    发现问题:

    在forms.py中 而不是

    class ProductForm(forms.Form):
    

    应该是

    class ProductForm(forms.ModelForm):
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-11
      • 2023-03-03
      • 1970-01-01
      • 2014-12-07
      • 2018-12-02
      • 2021-03-05
      • 2020-08-23
      • 2011-07-15
      相关资源
      最近更新 更多