我具有创建Post Model实例的这种观点。
def post_create(request):
if request.method == 'GET':
form = PostCreate()
context = {
'form': form
}
return render(request, 'posts/create.html', context)
else:
form = PostCreate(request.POST)
if form.is_valid():
title = form.cleaned_data.get('title')
blog_type = form.cleaned_data.get('blog_type')
text = form.cleaned_data.get('text')
status = form.cleaned_data.get('status')
Post.objects.create(
title=title,
blog_type=blog_type,
text=text,
status=status
)
return redirect('post-show')
else:
return render(request, 'posts/create.html', context)
我有一个表单类PostCreate,它是我的Post Model的ModelForm
class PostCreate(forms.ModelForm):
class Meta:
model = Post
fields = [
'title', 'blog_type', 'text', 'status'
]
并且create.html具有表单
<form action="" method='post'>
{% csrf_token %}
{{form.as_p}}
<input type="submit">
</form>
有路径
path('posts/create', post_create, name='post-create'),
服务器运行良好。现在,当我转到此路径时,它不会显示表单。正如我在视图中使用print(form)
或在模板中使用{{form}}
所检查的那样,得到了<posts.views.PostCreate object at 0x10b1b8a90>
。因此,{{form.as_p}}
不返回任何内容。
昨天工作正常,但是今天,即使现在不工作,一切都很好。