日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

django 链接地址匹配流程

發(fā)布時間:2023/11/27 生活经验 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 django 链接地址匹配流程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前提:

?

代碼結(jié)構(gòu)

?

?

步驟一:

下面為某個網(wǎng)頁的鏈接地址

<body>
{% if latest_article_list %}<ul>{% for article in latest_article_list %}<li><a href="/blog/p/{{ article.id }}/">{{ article.title }} </a></li>{% endfor %}</ul>
{% else %}<p>No articles are available.</p>
{% endif %}

其中的鏈接地址為:

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

步驟二:
點(diǎn)擊鏈接后,進(jìn)行URL匹配。

第一層 mysite中的url.py
urlpatterns = [url(r'^admin/', include(admin.site.urls)),url(r'^blog/',include('blog.urls'))
]

第二層 blog中的url.py

urlpatterns = [url(r'^$', views.index, name='index'),url(r'^p/(?P<article_id>[0-9]+)/$', views.detail,name='detail')
]

?

步驟三:

然后調(diào)用view.detail ?(在view.py中)

def detail(request, article_id):article = get_object_or_404(Article, pk=article_id)return render(request, 'blog/p/detail.html', {'article': article})

?

步驟四:

然后返回 目錄 blog/p/detail.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>ARTICLE</title>
</head>
<body>
<h1>{{ article.title }}</h1>
<p>{{ article.content }}</p>
</body>
</html>

根據(jù)article.id值在數(shù)據(jù)庫中查找相應(yīng)字段,填充article.title和article.content的具體值。

效果:

?

需要注意的是地址欄為:

而不是detail.html的目錄

?

移除硬編碼

?

html文件中的鏈接   <a href="/blog/p/{{ article.id }}/">{{ article.title }} </a>
blog中的url.py文件有name參數(shù)
urlpatterns = [url(r'^$', views.index, name='index'),url(r'^p/(?P<article_id>[0-9]+)/$', views.detail,name='detail')
]
所以使用{% url %}標(biāo)簽,鏈接改為
<a href="{% url 'detail'  article.id }">{{ article.title }} </a>

處理多個項(xiàng)目出現(xiàn)相同的detail,使用命名空間

在mysite的url中設(shè)置

urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^blog/',include('blog.urls', namespace='blog'))
]
鏈接改為
<a href="{% url 'blog:detail'  article.id }">{{ article.title }} </a>






?

轉(zhuǎn)載于:https://www.cnblogs.com/hb91/p/5410660.html

總結(jié)

以上是生活随笔為你收集整理的django 链接地址匹配流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。