Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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_Html_Django_Forms_Post - Fatal编程技术网

Python Django表格不';我没有出现

Python Django表格不';我没有出现,python,html,django,forms,post,Python,Html,Django,Forms,Post,我在做一个项目,结果出了一些问题。 因此,我的表单根本不会在模板中显示自己。 但是我以前已经创建了另一个表单,它可以正常工作 所以我的代码是: 型号.py class Project(models.Model): class Meta: db_table = "project" COLORS = ( ('R', 'Red'), ('B', 'Blue'), ('G', 'Green'), ('Y',

我在做一个项目,结果出了一些问题。 因此,我的表单根本不会在模板中显示自己。 但是我以前已经创建了另一个表单,它可以正常工作

所以我的代码是:

型号.py

class Project(models.Model):
    class Meta:
        db_table = "project"

    COLORS = (
        ('R', 'Red'),
        ('B', 'Blue'),
        ('G', 'Green'),
        ('Y', 'Yellow')
     )
    project_title = models.CharField(max_length=200)
    project_color = models.CharField(max_length=1, choices=COLORS)

    def __str__(self):
        return self.project_title
class ProjectForm(ModelForm):
    class Meta:
        model = Project
        fields = ['project_title', 'project_color']
def addproject(request):
    if request.POST:
        form_p = ProjectForm(request.POST)
        if form_p.is_valid():
            form_p.save(commit=False)
            return HttpResponseRedirect('/')
   else:
        form_p = ProjectForm()
    context = {
        'projects': Project.objects.all(),
        "form": form_p,
        'username': auth.get_user(request).username,
    }
    context.update(csrf(request))
    return render(request, 'index.html', context)
urlpatterns = [
    url(r'^addproject/$', views.addproject, name='addproject'),]
forms.py

class Project(models.Model):
    class Meta:
        db_table = "project"

    COLORS = (
        ('R', 'Red'),
        ('B', 'Blue'),
        ('G', 'Green'),
        ('Y', 'Yellow')
     )
    project_title = models.CharField(max_length=200)
    project_color = models.CharField(max_length=1, choices=COLORS)

    def __str__(self):
        return self.project_title
class ProjectForm(ModelForm):
    class Meta:
        model = Project
        fields = ['project_title', 'project_color']
def addproject(request):
    if request.POST:
        form_p = ProjectForm(request.POST)
        if form_p.is_valid():
            form_p.save(commit=False)
            return HttpResponseRedirect('/')
   else:
        form_p = ProjectForm()
    context = {
        'projects': Project.objects.all(),
        "form": form_p,
        'username': auth.get_user(request).username,
    }
    context.update(csrf(request))
    return render(request, 'index.html', context)
urlpatterns = [
    url(r'^addproject/$', views.addproject, name='addproject'),]
视图.py

class Project(models.Model):
    class Meta:
        db_table = "project"

    COLORS = (
        ('R', 'Red'),
        ('B', 'Blue'),
        ('G', 'Green'),
        ('Y', 'Yellow')
     )
    project_title = models.CharField(max_length=200)
    project_color = models.CharField(max_length=1, choices=COLORS)

    def __str__(self):
        return self.project_title
class ProjectForm(ModelForm):
    class Meta:
        model = Project
        fields = ['project_title', 'project_color']
def addproject(request):
    if request.POST:
        form_p = ProjectForm(request.POST)
        if form_p.is_valid():
            form_p.save(commit=False)
            return HttpResponseRedirect('/')
   else:
        form_p = ProjectForm()
    context = {
        'projects': Project.objects.all(),
        "form": form_p,
        'username': auth.get_user(request).username,
    }
    context.update(csrf(request))
    return render(request, 'index.html', context)
urlpatterns = [
    url(r'^addproject/$', views.addproject, name='addproject'),]
url.py

class Project(models.Model):
    class Meta:
        db_table = "project"

    COLORS = (
        ('R', 'Red'),
        ('B', 'Blue'),
        ('G', 'Green'),
        ('Y', 'Yellow')
     )
    project_title = models.CharField(max_length=200)
    project_color = models.CharField(max_length=1, choices=COLORS)

    def __str__(self):
        return self.project_title
class ProjectForm(ModelForm):
    class Meta:
        model = Project
        fields = ['project_title', 'project_color']
def addproject(request):
    if request.POST:
        form_p = ProjectForm(request.POST)
        if form_p.is_valid():
            form_p.save(commit=False)
            return HttpResponseRedirect('/')
   else:
        form_p = ProjectForm()
    context = {
        'projects': Project.objects.all(),
        "form": form_p,
        'username': auth.get_user(request).username,
    }
    context.update(csrf(request))
    return render(request, 'index.html', context)
urlpatterns = [
    url(r'^addproject/$', views.addproject, name='addproject'),]
index.html

<form action="/addproject/" method="post">
    {% csrf_token %}
    {{ form_p.as_table }}
    <button type="submit" class="btn btn-primary">Add Project</button>
</form>
<form action="/addproject/" method="post">
    {% csrf_token %}
    {{ form.as_table }}
    <button type="submit" class="btn btn-primary">Add Project</button>
</form>

{%csrf_令牌%}
{{form_p.as_table}}
添加项目

是否已将表单导入views.py? 将此文件放入您的views.py中

from .forms import ProjectForm

是否已将表单导入到views.py中? 将此文件放入您的views.py中

from .forms import ProjectForm

问题是在模板中,您将上下文变量调用为form\p,同时将其作为form“传递:

index.html

<form action="/addproject/" method="post">
    {% csrf_token %}
    {{ form_p.as_table }}
    <button type="submit" class="btn btn-primary">Add Project</button>
</form>
<form action="/addproject/" method="post">
    {% csrf_token %}
    {{ form.as_table }}
    <button type="submit" class="btn btn-primary">Add Project</button>
</form>

{%csrf_令牌%}
{{form.as_table}}
添加项目

问题出在您的模板中,您将上下文变量调用为form\u p,同时将其传递为“form”

index.html

<form action="/addproject/" method="post">
    {% csrf_token %}
    {{ form_p.as_table }}
    <button type="submit" class="btn btn-primary">Add Project</button>
</form>
<form action="/addproject/" method="post">
    {% csrf_token %}
    {{ form.as_table }}
    <button type="submit" class="btn btn-primary">Add Project</button>
</form>

{%csrf_令牌%}
{{form.as_table}}
添加项目

您的类型与上下文变量一起使用。您的类型与上下文变量一起使用。谢谢!但现在它显示了我以前创建的另一个表单。我该怎么办?@AnnieShlepak我相信这是因为在创建上下文dict后调用了
context.update(csrf(request))
,现在还不确定,谢谢!但现在它显示了我以前创建的另一个表单。我该怎么办?@AnnieShlepak我认为这是因为在创建上下文dict后调用了
context.update(csrf(request))
,现在还不确定