Python Django表单不显示输入字段
我看到的不是整个表单,而是提交按钮,而不是表单字段 目标:获取要加载的表单字段并能够提交表单 视图.py文件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
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" )
由于它不是模型表单
,因此表单
不知道状态
模型中有哪些字段。而且它无法实例化字段(因为它们没有定义)
我认为您可能想使用模型形式
,除非有令人信服的理由不这样做