Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django表单字段未显示_Python_Django - Fatal编程技术网

Python Django表单字段未显示

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

你好,我的表格不能用了。按钮会显示,但字符字段不会显示。我尝试使用带有“sent”参数的if语句,结果成功了。我只是跟着django医生。我在其他帖子中没有找到解决方案

这是我的表格。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>
视图.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首先通过一些好的源代码。它会让你的想法更清晰,麻烦更少。