错误:AttributeError:'BookForm'对象没有属性'get' . 我无法调试问题 . 请提前帮忙 . 谢谢
forms.py
from django import forms
from .models import Book
class BookForm(forms.Form):
class Meta:
model = Book
fields = ['title', 'sub_title', 'author', 'image', 'price', 'description', 'ISBN', 'number_of_pages','dimensions', 'interior_pages','binding','availability','genre']
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('',views.BookForm, name = 'bookform' ),
]
views.py
从django.shortcuts导入渲染,从.forms导入BookForm重定向
def bookview(request):
if request.method == 'POST':
form = BookForm(request.post)
if form.is_valid():
model_instance = form.save()
model_instance.save()
return redirect('/')
else:
form = BookForm()
return render(request,'book.html',{'myform':form})
模板
<html>
<head>
<title>edit</title>
</head>
<body>
<form method="post" >
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="ok">
</form>
</body>
</html>
1 回答
在url模式中,您需要将 views 与url路径链接 . 但是你在这里使用表单类,将
urls.py
更改为:另外要使用自动生成的字段,您需要使用
ModelForm
作为表单的基类:UPD
您在视图的上下文中有
myform
变量,因此您需要在模板中使用它而不是form
: