flask 添加后重定向到内容详细信息会带来内部服务器错误

flask Redirect to content detail after added brings internal server error

我正在 flask 中创建一个新内容,它应该被重定向到它的详细视图。即创建页面及其预览。但是 returns 内部服务器错误。你能帮忙检查一下代码吗?

@deliverables.route('/add', methods=['GET', 'POST'])
def deliverables_add():
    form = RegionForm(request.form)
    form.regions.choices = [('', '--- Select Region ---')] + [(region.id, region.region) for region in db.session.query(Region).all()]
    forms = ProjectForm()
    if forms.validate_on_submit():
        pmodel = Project(title=forms.title.data,
                         description=forms.description.data,
                         baseline=forms.baseline.data,
                         performance_indicator=forms.performance_indicator.data,
                         budget=forms.budget.data,
                         author=1,
                         posted_date=datetime.datetime.utcnow(),
                         start_date=forms.started.data,
                         est_completion=forms.estimated_completion.data,
                         sector=forms.sector.data.id,
                         region=form.regions.data,
                         district=form.districts.data,
                         subdistrict=form.subdistricts.data,
                         village=form.villages.data)
        db.session.add(pmodel)
        db.session.commit()
        flash('New entry was successfully posted')
        redirect(deliv_view(cid=pmodel.id))
    return render_template('ginn/deliverables_add.html', forms=forms, form=form)

@deliverables.route('/<int:cid>')
def deliv_view(cid):
    projects = [(project.title, project.description,
                 project.region, project.district,
                 project.subdistrict, project.baseline,
                 project.performance_indicator, project.budget,
                 project.author, project.posted_date,
                 project.start_date, project.est_completion, project.mark_complete, project.activities,
                 project.remarks, project.sector, project.media) for project in Project.query.filter(Project.id==cid)]
    return render_template('ginn/deliview.html', projects = projects)

我做错了什么?

您正在重定向调用中调用处理函数。它不是这样工作的;您需要重定向到 URL.

return redirect(url_for('deliv_view', cid=pmodel.id))