首页 > 解决方案 > Django 重定向到另一个视图

问题描述

根据Django topic从一个视图重定向到另一个视图有小问题。

已经阅读了一些答案,例如:ans_1ans_2ans_3,但找不到解决方案。

而是得到一个错误:

Reverse for 'add_tasks_continue' not found. 'add_tasks_continue' is not a valid view function or pattern name.

目标:使用一些数据从一个视图重定向到另一个视图。

我的视图功能:

def add_day_tasks(request):
    users = User.objects.all()
    if request.method == "POST":
        ...
        return redirect('add_tasks_continue', data=locals())

def add_tasks_continue(request, data):
    ...
    return render(request, 'eventscalendar/add_task_continue.html', locals())

我的网址:

app_name = 'calendar'
urlpatterns = [
    url(r'^$', calendar),
    url(r'^calendar/add_day_task/$', add_day_tasks),
    url(r'^calendar/add_task_continue/$', add_tasks_continue, name='add_tasks_continue'),
]

谢谢大家的时间

标签: django

解决方案


由于add_tasks_continue(request, data)有一个参数“数据”,(?P<data>…)因此应该在您的网址中。这就是我想说的。它可能是 url(r'^calendar/add_task_continue/(?P<data>[a-z]+)$', add_tasks_continue, name='add_tasks_continue') or else url(r'^calendar/add_task_continue/(?P<data>\d+)$', add_tasks_continue, name='add_tasks_continue')。但是,您应该记住 url 是字符串,因此“data”应该是出现在 url 中的字符串。


推荐阅读