我有一些表格可以在我的博客Django2中发布文章。当我运行django服务器时,没有错误,但是当我在前端应用程序中发布并提交Article时,什么也没有发生,并且不会保存任何数据。
在此方面的任何帮助将不胜感谢!
模板HTML
<div class="create-article">
<h2>Create an Awesome New Articles</h2>
<form class="site-form" action="{% url 'articles:create' %}" method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ form }}
<input type="submit" value="Create">
</form>
</div>
forms.py
from django import forms
from . import models
class CreateArticle(forms.ModelForm):
class Meta:
model = models.Article
fields = ['title', 'body', 'slug', 'thumb']
views.py
def article_create(request):
if request.method == 'POST':
form = forms.CreateArticle(request.POST, request.FILES)
if form.is_valid():
# save article to db
instance = form.save(commit=False)
instance.author = request.user
instance.save
return redirect('articles:list')
else:
form = forms.CreateArticle()
return render(request, 'articles/article_create.html', {'form': form})
urls.py
from django.urls import path
from . import views
app_name = 'articles'
urlpatterns = [
path('', views.article_list, name="list"),
path('create/', views.article_create, name="create"),
path('<slug>/', views.article_detail, name="detail"),
]
谢谢。
答案 0 :(得分:0)
它从instance = form.save(commit=False)
开始,在这里您不提交保存。
再往下,您有instance.save
,就好像您正在设置模型字段一样,但是没有赋值。
改为在instance.save()
行。