Django重定向到另一个视图

时间:2019-08-28 07:47:11

标签: 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'),
]

谢谢大家的时间

1 个答案:

答案 0 :(得分:0)

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