【发布时间】:2020-01-01 09:12:54
【问题描述】:
我在根据Django topic 从一个视图重定向到另一个视图时遇到小问题。
已经阅读了一些答案,例如:ans_1、ans_2、ans_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'),
]
感谢大家的宝贵时间
【问题讨论】:
-
为什么传递
data?您的 URL 不希望这样。 (以后请准确说明您遇到的问题,目标不是“找不到解决方案”。) -
@DanielRoseman 数据是字典 [描述已更新]。使用这种方法,我仍然需要将正则表达式模式传递到 url?
-
@ZarakiKenpachi:没有内置的字典路径转换器,而且很可能在(不久的)将来不会有。 URL 不是传输如此大量数据的好方法。
-
@WillemVanOnsem 如何将数据从一个视图传输到另一个视图?
-
@ZarakiKenpachi:你通常不会那样做。通常 url 和 GET 和 POST 数据用于传输 small 数量的(通常是标量)数据。需要持久化的项目存储在数据库中。顺便说一句,使用
locals()也不是一个好主意:您将如何传输通用对象?
标签: django