简体   繁体   English

我创建了一个 django ModelForm,它没有出现在我的 html 模板中,我想确定为什么该代码没有呈现我的表单?

[英]I have created a django ModelForm that is not showing up in my html template, I am trying to determine why that code is not rendering my form?

models.py模型.py

from django.db import models


# Create your models here.
class Subscriber(models.Model):
    """A subscriber Model"""
    email = models.CharField(max_length=255, blank=False, null=False, help_text="Subscriber Email Address", unique=True)
    full_name = models.CharField(max_length=100, blank=False, null=False, help_text="First and Last Name")

    class Meta:
        verbose_name = "Subscriber"
        verbose_name_plural = "Subscribers"

forms.py forms.py

from django.forms import ModelForm
from .models import Subscriber


class SubscriberForm(ModelForm):
    class Meta:
        model = Subscriber
        fields = ["email", "full_name"]

views.py视图.py

from django.shortcuts import render
from .forms import SubscriberForm
from django.http import HttpResponseRedirect
from django.contrib import messages


# Create your views here.

def subscriber(request):
    if request.method == "POST":
        subscriber_form = SubscriberForm(request.POST or None)
        if subscriber_form.is_valid():
            subscriber_form.save()
            messages.success(request, "")
            return HttpResponseRedirect("/")
    else:
        subscriber_form = SubscriberForm()
    context = {
        "form_subscriber": subscriber_form
    }
    return render(request, "subscriber/subscriber_form.html", context)

subscriber_form.html subscriber_form.html

{% block content %}
    <div>
        <form method="POST">
            {% csrf_token %}
            {{ subscriber_form.as_ul }}
            <input type="submit" value="Submit">
        </form>
    </div>
{% endblock %}

Only my submit button is publishing, however the form is never showing up for me.只有我的提交按钮正在发布,但该表格从未出现在我面前。 I have followed the django docs exactly and still am not getting any good results.我完全遵循了 django 文档,但仍然没有得到任何好的结果。

It should be form_subscriber not subscriber_form so:它应该是form_subscriber而不是subscriber_form所以:

{% block content %}
    <div>
        <form method="POST">
            {% csrf_token %}
            {{ form_subscriber.as_ul }}
            <input type="submit" value="Submit">
        </form>
    </div>
{% endblock %}

Additionally, I'd recommend you to only use SubscriberForm(request.POST) in views without using None for GET request as it is already being handled in else condition so:此外,我建议您仅在视图中使用SubscriberForm(request.POST)而不要将None用于GET请求,因为它已经在else条件下处理,因此:

views.py:意见.py:

def subscriber(request):
    if request.method == "POST":
        subscriber_form = SubscriberForm(request.POST)
        ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我正在尝试在 django 中注册用户,但表单字段没有显示。 我的代码有什么问题? - I am trying to register users in django but the form fields are not showing up. What is wrong with my code? 我在Django的模板上渲染评论表单时遇到问题 - I have problems rendering my comment form on my template in Django 我正在尝试保存表单数据。 我的Django表格数据没有保存,为什么? - I am trying to save the form data. My Django form data is not saved, why? 我正在尝试在 django 中创建下拉菜单,但我的代码只显示文本框? 帮助申请 - I am trying to create drop down menu in django but my code is showing only text box ? Help Appricated Django ModelForm未显示在模板中 - Django ModelForm not showing up in template ModelForm没有出现在Django模板中? - ModelForm not showing up in Django template? 我正在尝试在我的 Django 项目上实现图像上传功能,但没有创建文件。 我的代码有什么问题? - I am trying to implement an image upload feature on my Django project but no file is being created. What is wrong with my code? 为什么我在 django 教程中收到此模板错误? - Why am I receiving this Template error in my django tutorial? 为什么我的Django模板中出现无效的阻止标签? - Why am I getting an Invalid block tag in my Django template? 我正在尝试将标题表单模型传递给导航下拉模板,但它在主 html 页面中工作但不显示其他页面 - i am trying to pass the title form model to a template for nav dropdown but it is working in main html page but not showing others
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM