【问题标题】:Managing django urls管理 django url
【发布时间】:2017-02-06 19:20:29
【问题描述】:

我正在制作个人网站。我有一个博客页面(site.com/blog),其中有我的博客文章列表。如果我想检查一个足够简单的博客文章,我可以点击它和代码:

        <a href="/blog/{{ obj.id }}"><h1>{{ obj.topic_title }}</h1></a>

会带我去那里。另外,如果我想访问我的联系人页面 (site.com/contacts)。很简单,我点击导航联系人按钮,然后我去那里

                    <a href="/contacts">Contacts</a>

但如果我输入博客文章 (site.com/blog/1),我使用的是相同的模板,如果我想转到我的联系人页面,我必须再次单击

                    <a href="/contacts">Contacts</a>

链接,但这会将我转到 404 页面 site.com/blog/contacts 。如何在不对每一页进行编码的情况下处理这个问题

【问题讨论】:

    标签: python html django url


    【解决方案1】:

    使用内置的 Django url 模板标签,它接受视图名称并返回它的绝对路径。

    返回与给定视图和可选参数匹配的绝对路径引用(没有域名的 URL)。

    您也可以给它一个视图名称和它的任何视图参数。这比链接到博客页面的方式要好得多:

    {% url 'blog-view-name' obj.id %}
    

    这样可以确保即使您更改了视图的结构,它仍然不会破坏您的链接。

    【讨论】:

    • 你能不能发个资源,我不太明白你的意思
    • @Harton 我在回答中链接了 Django 文档,这应该会让你走上正轨。
    • 好的,所以在我的联系人页面中,我有这个 def index(request): return render(request, "contacts/contacts.html") 非常适合页面,但如果在另一个应用程序中我有一些视图名称(索引),事情会变得混乱?
    猜你喜欢
    • 2019-11-04
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多