当我尝试传递表单时,只有我的提交按钮弹出。 我甚至尝试过从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)
这是我的views.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的新手,也许我需要另一个版本?
答案 0 :(得分:4)
您有两个视图呈现相同的模板。其中一个contact
将表单传递给模板。另一个,index
没有,所以在上下文中没有任何名为form
的结果,结果将是空白的。