gpt4 book ai didi

没有 View 的Django URL conf - 链接到另一个域

转载 作者:行者123 更新时间:2023-12-04 21:17:58 25 4
gpt4 key购买 nike

我希望能够使用反向 url 查找来链接到预设域,例如:

在模板中:
<a href="{% url 'admin_site' %}">Admin</a>
页面可能位于http://www.mydomain.com/home并且管理站点可能是 http://admin.mydomain.com - 或者在开发模式下,它可能是 http://devadmin.localhost
我可以使用环境变量在设置中设置域 - 但是如何让 URL 框架将该域放入页面模板中?

实现这一目标的两条简单途径:

  • 只需创建一个重定向 View ,它可能位于 /go/admin 之类的地方。它只会重定向到我设置的任何域。
  • 在模板上下文中包含我的域并重写 href 之类的内容,例如 <a href="{{ ADMIN_SITE }}">

  • 两种选择都行。但两者都有缺点:第一个涉及额外的重定向步骤,第二个不使用相同的 url标记为其他链接。

    最佳答案

    我认为您不能/不应该直接将外部网址添加到您的 urls.py .该文件用于必须从 django 服务器解析的 URL,因此如果该页面位于另一台服务器中...并且,您想使用 {% url %}它必须通过重定向。

    我会这样做:

    from django.conf.urls import patterns, url
    from django.views.generic import RedirectView

    urlpatterns = patterns('',
    # ...

    url(r'^remote_admin/$', RedirectView.as_view(url='http://admin.mydomain.com'),
    name='remote_admin'),
    url(r'^dev_admin/$', RedirectView.as_view(url='http://devadmin.localhost'),
    name='dev_admin'),
    )

    然后 {% url %}应该像往常一样工作:
    {% url 'remote_admin' %}

    关于没有 View 的Django URL conf - 链接到另一个域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18375757/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com