我是Django的新手,并且在表单中遇到了一些问题。我试图显示一个文本输入,以便用户可以输入他们的电话号码,并将其发送到我的电子邮件。我实际上会将它存储在一个postgre数据库中,但希望首先获取基本信息。正在显示提交按钮,但文本输入字段不是。我尝试将views.py中的forms.py放在里面,看看PhoneForm()函数和文件是否没有导入,但是没有做任何事情。表单字段不在模板中显示
views.py
from django.shortcuts import render, redirect
from django.http import HttpResponse, HttpResponseRedirect
from django.core.mail import send_mail
from .forms import PhoneForm
# Create your views here.
def index(request):
# Render the index.html template with a context dictionary
return render(request, "index.html")
def get_number(request):
# if this is a POST request we need to process the form data
if request.method == 'POST':
#create a form instance
form = PhoneForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
send_mail(
cd['phone_form'],
['[email protected]'],
)
return HttpResponseRedirect('/thanks/')
else:
form = PhoneForm()
return render(request, 'index.html', {'form': form})
的index.html
<form action="" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</form>
forms.py
from django import forms
class PhoneForm(forms.Form):
phone_form = forms.CharField(widget=forms.TextInput())
编辑:添加urls.py(一个在应用程序)
from django.conf.urls import include, url
from django.contrib import admin
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^$', views.get_number, name='get_number'),
]
你能显示urls.py吗? – vadimchin
@vadimchin ahhh我忘了那些..补充。我想知道是不是有什么问题 – TheFlyingProgrammer