Python Django表单不显示输入字段

Python Django表单不显示输入字段,python,django,forms,django-forms,django-templates,Python,Django,Forms,Django Forms,Django Templates,我看到的不是整个表单,而是提交按钮,而不是表单字段 目标:获取要加载的表单字段并能够提交表单 视图.py文件 from django.shortcuts import render from django.template.response import TemplateResponse from django.views import generic from friendsbook.models import Status,User from django.views.generic.edi

我看到的不是整个表单,而是提交按钮,而不是表单字段

目标:获取要加载的表单字段并能够提交表单

视图.py文件

from django.shortcuts import render
from django.template.response import TemplateResponse
from django.views import generic
from friendsbook.models import Status,User
from django.views.generic.edit import CreateView
from .forms import CreatePost

class IndexView(generic.ListView):
    template_name='uposts/home.html'
    context_object_name='status_object'

    def get_queryset(self):
        return Status.objects.all()

class  post_detail(generic.DetailView):
    model=Status
    context_object_name='user_profile'
    template_name='uposts/detail.html'

    def get_queryset(self):
        abc=Status.objects.all()
        return abc;

def create_post(request):
    form=CreatePost()
    return render(request,"uposts/createpost.html",{'form':form})
from django import forms
from friendsbook.models import Status

class CreatePost(forms.Form):

    class meta:
        model=Status
        fields = ("title","username" )
forms.py文件

from django.shortcuts import render
from django.template.response import TemplateResponse
from django.views import generic
from friendsbook.models import Status,User
from django.views.generic.edit import CreateView
from .forms import CreatePost

class IndexView(generic.ListView):
    template_name='uposts/home.html'
    context_object_name='status_object'

    def get_queryset(self):
        return Status.objects.all()

class  post_detail(generic.DetailView):
    model=Status
    context_object_name='user_profile'
    template_name='uposts/detail.html'

    def get_queryset(self):
        abc=Status.objects.all()
        return abc;

def create_post(request):
    form=CreatePost()
    return render(request,"uposts/createpost.html",{'form':form})
from django import forms
from friendsbook.models import Status

class CreatePost(forms.Form):

    class meta:
        model=Status
        fields = ("title","username" )
createpost.html指定文件夹中的文件

{% extends "friendsbook/structure.html" %}
{% block content %}
<form action="" method="post">{%csrf_token %}
    {{ form.as_table }}
    <input type="submit" value="Save">
</form>

{% endblock %}
{%extensed“friendsbook/structure.html”%}
{%block content%}
{%csrf_令牌%}
{{form.as_table}}
{%endblock%}
我也尝试使用pythonshell,但是没有用。 看这个,它给我的是空字符串,而不是表单字段


请帮帮我。

这里有几个错误

首先,要从模型中创建字段,表单需要继承自
forms.ModelForm
,而不是
forms.form


其次,内部类需要调用
Meta
,而不是
Meta

这里有几个错误

首先,要从模型中创建字段,表单需要继承自
forms.ModelForm
,而不是
forms.form


其次,内部类需要调用
Meta
,而不是
Meta

,因为您没有使用
ModelForm
,所以需要定义
字段。您可以去掉
model=Status
声明

试试这个:

from django import forms


class CreatePost(forms.Form):
    title = forms.CharField()
    username = forms.CharField()

    class meta:
        fields = ("title","username" )
由于它不是
模型表单
,因此
表单
不知道
状态
模型中有哪些字段。而且它无法实例化字段(因为它们没有定义)


我认为您可能想使用
ModelForm
,除非有令人信服的理由不这样做。

因为您没有使用
ModelForm
,所以需要定义
字段。您可以去掉
model=Status
声明

试试这个:

from django import forms


class CreatePost(forms.Form):
    title = forms.CharField()
    username = forms.CharField()

    class meta:
        fields = ("title","username" )
由于它不是
模型表单
,因此
表单
不知道
状态
模型中有哪些字段。而且它无法实例化字段(因为它们没有定义)

我认为您可能想使用
模型形式
,除非有令人信服的理由不这样做