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