Python Django表单字段未显示
你好,我的表格不能用了。按钮会显示,但字符字段不会显示。我尝试使用带有“sent”参数的if语句,结果成功了。我只是跟着django医生。我在其他帖子中没有找到解决方案 这是我的表格。py:Python Django表单字段未显示,python,django,Python,Django,你好,我的表格不能用了。按钮会显示,但字符字段不会显示。我尝试使用带有“sent”参数的if语句,结果成功了。我只是跟着django医生。我在其他帖子中没有找到解决方案 这是我的表格。py: from django import forms class CharacterForm(forms.Form): character_name = forms.CharField(label='Search', max_length=30) from django.shortcuts impo
from django import forms
class CharacterForm(forms.Form):
character_name = forms.CharField(label='Search', max_length=30)
from django.shortcuts import render
from .forms import CharacterForm
def index(request):
return render(request, 'perso/pages/index.html')
def get_character(request):
character_name = ''
sent = False
if request.method == 'POST':
form = CharacterForm(request.POST)
if form.is_valid():
character_name = form.cleaned_data['character_name']
sent = True
else:
form = CharacterForm()
return render(request, 'perso/pages/index.html', {
'form': form,
'character_name': character_name,
'sent': sent
})
from django.conf.urls import url
from . import views
app_name = 'perso'
urlpatterns = [
url(r'^$', views.index, name="index"),
]
<form action="{% url "perso:index" %}" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
视图.py:
from django import forms
class CharacterForm(forms.Form):
character_name = forms.CharField(label='Search', max_length=30)
from django.shortcuts import render
from .forms import CharacterForm
def index(request):
return render(request, 'perso/pages/index.html')
def get_character(request):
character_name = ''
sent = False
if request.method == 'POST':
form = CharacterForm(request.POST)
if form.is_valid():
character_name = form.cleaned_data['character_name']
sent = True
else:
form = CharacterForm()
return render(request, 'perso/pages/index.html', {
'form': form,
'character_name': character_name,
'sent': sent
})
from django.conf.urls import url
from . import views
app_name = 'perso'
urlpatterns = [
url(r'^$', views.index, name="index"),
]
<form action="{% url "perso:index" %}" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
Perso是应用程序的名称,Perso中的url.py:
from django import forms
class CharacterForm(forms.Form):
character_name = forms.CharField(label='Search', max_length=30)
from django.shortcuts import render
from .forms import CharacterForm
def index(request):
return render(request, 'perso/pages/index.html')
def get_character(request):
character_name = ''
sent = False
if request.method == 'POST':
form = CharacterForm(request.POST)
if form.is_valid():
character_name = form.cleaned_data['character_name']
sent = True
else:
form = CharacterForm()
return render(request, 'perso/pages/index.html', {
'form': form,
'character_name': character_name,
'sent': sent
})
from django.conf.urls import url
from . import views
app_name = 'perso'
urlpatterns = [
url(r'^$', views.index, name="index"),
]
<form action="{% url "perso:index" %}" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
个人模板索引中的我的表单:
from django import forms
class CharacterForm(forms.Form):
character_name = forms.CharField(label='Search', max_length=30)
from django.shortcuts import render
from .forms import CharacterForm
def index(request):
return render(request, 'perso/pages/index.html')
def get_character(request):
character_name = ''
sent = False
if request.method == 'POST':
form = CharacterForm(request.POST)
if form.is_valid():
character_name = form.cleaned_data['character_name']
sent = True
else:
form = CharacterForm()
return render(request, 'perso/pages/index.html', {
'form': form,
'character_name': character_name,
'sent': sent
})
from django.conf.urls import url
from . import views
app_name = 'perso'
urlpatterns = [
url(r'^$', views.index, name="index"),
]
<form action="{% url "perso:index" %}" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
{%csrf_令牌%}
{{form.as_p}}
以下是浏览器中显示的内容:
<form action="/perso/" method="post">
<input type='hidden' name='csrfmiddlewaretoken' value='IWmBEknyibHw4LpvjnyfLWKcUOXLbw27RdHgR7GjhTDelCLGZ51QeF3y9wRyC0Mg' />
<input type="submit" value="Submit" />
</form>
查菲尔德号不见了。控制台中没有错误。您的代码中有一些异常,您遗漏了呈现函数中的模板名称参数。在渲染函数中提供相应HTML文件的
模板名称
。您还没有提供字符名和sent变量的默认参数。见文件
您犯了一个错误,没有为views.py中正在模板中设置表单的函数创建url.py
模式
from django.conf.urls import url
from . import views
app_name = 'perso'
urlpatterns = [
url(r'^$', views.index, name="index"),
url(r'^character$', views.get_character, name="character"),
]
此外,您还需要在post请求的URL
链接中的模板中进行更正
<form action="{% url "perso:character" %}" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
{%csrf_令牌%}
{{form.as_p}}
现在您的表单将在上可用。您的代码中有一些异常,您在渲染函数中遗漏了模板名称参数。在渲染函数中提供相应HTML文件的模板名称
。您还没有提供字符名和sent变量的默认参数。见文件
您犯了一个错误,没有为views.py中正在模板中设置表单的函数创建url.py
模式
from django.conf.urls import url
from . import views
app_name = 'perso'
urlpatterns = [
url(r'^$', views.index, name="index"),
url(r'^character$', views.get_character, name="character"),
]
此外,您还需要在post请求的URL
链接中的模板中进行更正
<form action="{% url "perso:character" %}" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
{%csrf_令牌%}
{{form.as_p}}
现在,当您的视图收到get
请求时,您的表单将在什么是character\u name
上可用。您的代码中存在异常。当您的视图收到get
请求时,请检查哪些是character\u name
。您的代码中存在异常。看看,谢谢!我添加了默认变量和模板名称。查菲尔德号还没出来,给你!这看起来很傻,但我找不出来。@dcprod检查一下是的,你很傻,你没有任何指向发送formI的视图函数的url链接。我正在开始django,我不知道我们必须这样做。非常感谢@dcprod首先通过一些好的源代码。这会让你的想法更清晰,麻烦更少。谢谢!我添加了默认变量和模板名称。查菲尔德号还没出来,给你!这看起来很傻,但我找不出来。@dcprod检查一下是的,你很傻,你没有任何指向发送formI的视图函数的url链接。我正在开始django,我不知道我们必须这样做。非常感谢@dcprod首先通过一些好的源代码。它会让你的想法更清晰,麻烦更少。