【问题标题】:Django Form not showing, only the button (NEW)Django Form 没有显示,只有按钮(新)
【发布时间】:2018-02-13 23:08:39
【问题描述】:

当我尝试传递表单时,只会弹出我的提交按钮。 我什至尝试从 Django 网站复制代码......仍然对我不起作用。

这是我的forms.py

from django import forms

class contactForm(forms.Form):
    name = forms.CharField(required=False, max_length=100, help_text='100 max.')
    email = forms.EmailField(required=True)
    comment = forms.CharField(required=True, widget=forms.Textarea)

这是我的观点.py

from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render
from .forms import contactForm

def contact(request):
    form = contactForm(request.POST or None)

    if form.is_valid():
       print(request.POST)
    context = locals()

    return render(request, 'contact/contact.html', context)

def index(request):
    return render(request, 'contact/contact.html')

这是我的contact.html

{% extends "contact/base.html" %}
{% block content %}

<h1>Contact</h1>

<form method='POST' acion=''> {% csrf_token %}
{{ form.as_p }}
<input type='submit' value='submit form'/>
</form>

{% endblock %}

我真的不知道这段代码有什么问题...请帮助!谢谢 ps:我是python新手,也许我需要另一个版本?

【问题讨论】:

  • context = locals() 更改为context = {"form":form,} ,它应该可以工作:)

标签: python django django-forms django-templates django-views


【解决方案1】:

您有两个视图呈现相同的模板。其中之一,contact,将表单传递给模板。另一个 index 没有,因此上下文中没有任何名为 form 的内容,结果将为空白。

【讨论】:

    猜你喜欢
    • 2016-08-09
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多