为了账号安全,请及时绑定邮箱和手机立即绑定

Python 3.7.2/Django 2.1.4,django模板中超链接配置,三种方法

方法一:

myblog/urls.py:

    from django.contrib import admin

    from django.urls import path, include


    urlpatterns = [

        path('admin/', admin.site.urls),

        path('blog1/', include(('blog1.urls', 'a'), namespace='blogg')),#'a'可以使用任意字符,但不能为空

    ]


blog/urls.py:

    from django.urls import path

    from . import views

    urlpatterns = [

        path('', views.index),           # 这是路由模式

        path('article/<int:article_id>', views.article_page, name='article_detai'),  # path中的组名必须和参数名一致

    ]


blog/index.html:

     <body>

         <h1>

             <a href="">添加新文章</a>

         </h1>

         {% for article in articles %}

             <h2>

                 <a href="{% url 'blogg:article_detai' article.id %}">{{ article.title }}</a>

             </h2>

         {% endfor %}

     </body>


正在回答

9 回答

太谢谢了,但不太明白为什么加上app_name='a'就可以了


0 回复 有任何疑惑可以回复我~

非常感谢


0 回复 有任何疑惑可以回复我~

非常感谢,请问这些是在官方文档里查到的么

0 回复 有任何疑惑可以回复我~

非常感谢

0 回复 有任何疑惑可以回复我~

大哥,为什么在方法二里面加句这个app_name = 'a'就可以了,是什么个原理啊 ?

0 回复 有任何疑惑可以回复我~

这个很好。原视频中的可能因为版本问题,已经显示不出为了。


0 回复 有任何疑惑可以回复我~

很有用,感谢

0 回复 有任何疑惑可以回复我~

方法三:

myblog/urls.py:

    from django.contrib import admin

    from django.urls import path, include


    urlpatterns = [

        path('admin/', admin.site.urls),

        path('blog1/', include('blog1.urls'))

    ]


blog/urls.py:

    from django.urls import path

    from . import views


    urlpatterns = [

        path('', views.index),           # 这是路由模式

        path('article/<int:article_id>', views.article_page),

    ]


blog/index.html:

<body>

<h1>

    <a href="">添加新文章</a>

</h1>

{% for article in articles %}

    <h2>

        <a href="/blog1/article/{{ article.id }}">{{ article.title }}</a>

    </h2>

{% endfor %}

</body>


5 回复 有任何疑惑可以回复我~

方法二:

myblog/urls.py:

    from django.contrib import admin

    from django.urls import path, include


    urlpatterns = [

        path('admin/', admin.site.urls),

        path('blog1/', include('blog1.urls', namespace='blogg'))

    ]


blog/urls.py:

    from django.urls import path

    from . import views


    app_name = 'a'#'a'可以使用任意字符,但不能为空

    urlpatterns = [

        path('', views.index),           # 这是路由模式

        path('article/<int:article_id>', views.article_page, name='article_detai'),  # path中的组名必须和参数名一致

    ]


blog/index.html:

<body>

<h1>

    <a href="">添加新文章</a>

</h1>

{% for article in articles %}

    <h2>

        <a href="{% url 'blogg:article_detai' article.id %}">{{ article.title }}</a>

    </h2>

{% endfor %}

</body>


5 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
django入门与实践
  • 参与学习       65117    人
  • 解答问题       898    个

手把手带你进入Django开发的大门,充分领略Django的魅力

进入课程

Python 3.7.2/Django 2.1.4,django模板中超链接配置,三种方法

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号