Django url处理?

Django url处理?,django,django-templates,django-views,Django,Django Templates,Django Views,将url文件解耦到我们的应用程序后,我们面临以下问题: 例如: 如何处理模板中的url(以适应url中的任何前缀(ourprefix)) 如何在没有硬编码URL的情况下执行HttpResponseRedirect(这里也存在outprefix问题) 如果我没弄错,您想将特定视图解析为模板内的URL吗 您应该在Django中使用url反向方法。看 1) 对于模板,您可以使用: <a href="/path/to/{{prefix}}/xyz"> Link </a> 有关

将url文件解耦到我们的应用程序后,我们面临以下问题:

例如:

  • 如何处理模板中的url(以适应url中的任何前缀(ourprefix))
  • 如何在没有硬编码URL的情况下执行HttpResponseRedirect(这里也存在outprefix问题)

  • 如果我没弄错,您想将特定视图解析为模板内的URL吗

    您应该在Django中使用url反向方法。看

    1) 对于模板,您可以使用:

    <a href="/path/to/{{prefix}}/xyz"> Link </a>
    
    有关更多详细信息,请参阅

    2) 因此,对于HttpResponseRedirect,您可以执行以下操作:

    HttpResponseRedirect(reverse(your_view_function))
    

    它还接受参数。

    如果我理解正确,您想将特定视图解析为模板内的URL吗

    您应该在Django中使用url反向方法。看

    1) 对于模板,您可以使用:

    <a href="/path/to/{{prefix}}/xyz"> Link </a>
    
    有关更多详细信息,请参阅

    2) 因此,对于HttpResponseRedirect,您可以执行以下操作:

    HttpResponseRedirect(reverse(your_view_function))
    
    它还接受参数。

    url.py中使用

  • 使用模板标签。它将插入正确的路径
  • 用于重定向
  • 例如:

    在proj/url.py中:

    patterns = patterns('',
       (r'^prefix/', include('proj.app.urls') ),
    )
    
    在proj/app/url.py中:

    patterns = patterns('',
        url(r'object/^(?P<pk>\d+)/edit/', edit_object_view, name="edit"),
    )
    
    在proj/app/templates/app/my_template.py中:

    <a href="{% url app:edit pk=pk %}"> <!-- generates /prefix/object/123/edit/ -->
    
    
    
    url.py中使用

  • 使用模板标签。它将插入正确的路径
  • 用于重定向
  • 例如:

    在proj/url.py中:

    patterns = patterns('',
       (r'^prefix/', include('proj.app.urls') ),
    )
    
    在proj/app/url.py中:

    patterns = patterns('',
        url(r'object/^(?P<pk>\d+)/edit/', edit_object_view, name="edit"),
    )
    
    在proj/app/templates/app/my_template.py中:

    <a href="{% url app:edit pk=pk %}"> <!-- generates /prefix/object/123/edit/ -->
    
    
    
    模板中的“句柄”URL是什么意思?只需将它们放在锚的href属性中……您可以更具体一些。你和前缀有什么关系?这应该只是URL中的一个简单正则表达式。py您能更具体地回答您的问题吗?似乎您正在URL中添加语言前缀。模板中的“句柄”URL是什么意思?只需将它们放在锚的href属性中……您可以更具体一些。你和前缀有什么关系?这应该只是URL中的一个简单正则表达式。py您能更具体地回答您的问题吗?好像你在你的URL中添加了一个语言前缀。我必须自己添加{{prefix}}还是有某种系统可以帮我这样做?应用程序是否自动神奇地意识到了这个前缀。你不说你是如何从这个前缀服务的,但假设你刚刚通过设置WSGI别名完成了,Django就会自动知道它。我是否必须自己放置{{prefix}},或者有某种系统可以为我这样做?应用程序是否以某种方式自动感知到该前缀。您不会说如何使用该前缀提供服务,但假设您刚刚通过设置WSGI别名完成了此操作,Django就会自动知道它。