内容:我有3个应用
A,B和C

每个人都有views.py和urls.py文件

views.py

一个有do_Ax(request,xpto),do_Ay(request,xpto),do_Az(request,xpto)

B有do_Bx(请求),do_By(请求),do_Bz(请求)

C具有do_Cx(request,xpto),do_Cy(request,xpto),do_Cz(request,xpto)

urls.py
一种

urlpatterns = patterns('',
                       url(r'^A_x/$', views.do_Ax, name='A_x'),
                       url(r'^A_y/$', views.do_Ay, name='A_y'),
                       url(r'^A_z/$', views.do_Az, name='A_z'),




urlpatterns = patterns('',
                       url(r'^B_x/$', views.do_Bx, name='B_x'),
                       url(r'^B_y/$', views.do_By, name='B_y'),
                       url(r'^B_z/$', views.do_Bz, name='B_z'),


C

urlpatterns = patterns('',
                       url(r'^C_x/$', views.do_Cx, name='C_x'),
                       url(r'^C_y/$', views.do_Cy, name='C_y'),
                       url(r'^C_z/$', views.do_Cz, name='C_z'),


我的全局应用程序的入口点是通过B。在那儿,我检查了一些东西,并希望使用新的参数重定向到A或C视图的正确方法...
有没有办法可以做到这一点?

我尝试了n00b方法,但收到SuspiciousOperation异常(“使用方案...不安全地重定向到URL ...”)

重要:
我也是一个名为top的“父”应用程序,它具有以下urls.py:

urlpatterns = patterns('',
    url(r'^A/', include('apps.top.A.urls', namespace="A")),
    url(r'^B/', include('apps.top.B.urls', namespace="B")),
    url(r'^C/', include('apps.top.C.urls', namespace="C")),
)


请注意>>>>> XPTO是一个对象!!!!没有文字价值! <<<<<<<<

最佳答案

from django.core.urlresolvers import reverse
from django import shortcuts

def do_Bx(request):
    # do some tests here and whatever
    xpto = whatever
    url = reverse("A_x", args=[xpto])
    return shortcuts.redirect(url)

关于python - Django重定向将一个(或多个)对象作为参数传递,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15112183/

10-10 01:11