A server error occurred. Please contact the administrator.
下面的代码无法返回网页,页面报错: A server error occurred. Please contact the administrator.
from django.shortcuts import render, redirect
@login_required(login_url='/userprofile/login/') def article_create(request):
if request.method == "POST":
# 将提交的数据赋值到表单实例中
article_post_form = ArticlePostForm(request.POST, request.FILES)
# 判断提交的数据是否满足模型的要求
if article_post_form.is_valid():
# 保存数据,但暂时不提交到数据库中
new_article = article_post_form.save(commit=False)
# 指定登录的用户为作者
new_article.author = User.objects.get(id=request.user.id)
if request.POST['column'] != 'none':
# 保存文章栏目
new_article.column = ArticleColumn.objects.get(id=request.POST['column'])
# 将新文章保存到数据库中
new_article.save()
# 保存 tags 的多对多关系
article_post_form.save_m2m()
# 完成后返回到文章列表
return redirect("article:article_list")
# 如果数据不合法,返回错误信息
else:
return HttpResponse("表单内容有误,请重新填写。")
# 如果用户请求获取数据
else:
# 创建表单类实例
article_post_form = ArticlePostForm()
# 文章栏目
columns = ArticleColumn.objects.all()
# 赋值上下文
context = { 'article_post_form': article_post_form, 'columns': columns }
# 返回模板
return render(request, 'article/create.html', context)
评论 0