Python 如何在url.py中将id从url传递到post_save_redirect
我在数据库中有几个对象。使用通用视图编辑对象的Url类似于Python 如何在url.py中将id从url传递到post_save_redirect,python,django,django-urls,Python,Django,Django Urls,我在数据库中有几个对象。使用通用视图编辑对象的Url类似于site.com/cases/edit/123/,其中123是特定对象的id。考虑案例/URL.Py < /Cord>内容: url(r'edit/(?P<object_id>\d{1,5})/$', update_object, { ... 'post_save_redirect': ???}, name = 'cases_edit'), 但显然这些都不起作用反向功能,但如何传递特定的id 'post_save_redir
site.com/cases/edit/123/
,其中123
是特定对象的id。考虑<代码>案例/URL.Py < /Cord>内容:
url(r'edit/(?P<object_id>\d{1,5})/$', update_object, { ... 'post_save_redirect': ???}, name = 'cases_edit'),
但显然这些都不起作用<建议使用代码>反向功能,但如何传递特定的id
'post_save_redirect': reverse('cases_edit', kwargs = {'object_id': ???})
庙宇中的{%url%}
还需要传递特定对象的id
。id
可以通过extra\u context
传递:
extra_context = {'object_id': ???}
在所有情况下,问题都是从url获取object\u id
。
问候
chriss首先,阅读函数
def update_object_wrapper(request, object_id, *args, **kwargs):
redirect_to = reverse('your object edit url name', object_id)
return update_object(request, object_id, post_save_redirect=redirect_to, *args, **kwargs)
其次,阅读{%
%}
标记
在视图中使用reverse
功能生成预期的重定向位置
此外,您应该在模板中使用
{%url%}
标记。简而言之,您需要做的是包装update\u对象函数
def update_object_wrapper(request, object_id, *args, **kwargs):
redirect_to = reverse('your object edit url name', object_id)
return update_object(request, object_id, post_save_redirect=redirect_to, *args, **kwargs)
从以下文档中选择:
post_save_重定向可能包含字典字符串格式,该格式将根据对象的字段属性进行插值。例如,您可以使用post_save_redirect=“/polls/%(slug)s/”您确实没有提供足够的信息。请详细说明。