Django实用攻略(二)url和path的使用

url和path,处理网站路径。Django,通过urls.py来映射网址和页面。可用的模块有django.conf.urls.url、django.urls.path、django.urls.re_path。

有些事情,一放就是一年。今天想写写url和path。

Django,通过urls.py来映射网址和页面。可用的模块有django.conf.urls.url、django.urls.path、django.urls.re_path。

先上代码:

from django.conf.urls import url
from django.urls import path
from django.urls import re_path

from blog import views as blog_views

urlpatterns = [
    path('', blog_views.index, name='index'),
    url(r'^index/(\d+)/$', blog_views.index, name='index'),
    # artile list
    path('articles/', blog_views.articles,name='articles'),
    re_path(r'^articles/(\d+)/$', blog_views.articles, name='articles_page'),
    # search
    path('search', blog_views.search, name='search'),
    path('search/<int:page>', blog_views.search, name='search_page'),
    # tag
    path('tag/<str:tag>', blog_views.tag, name='tag'),
    path('tag/<str:tag>/<int:page>', blog_views.tag, name='tag_page'),
    # article
    path('article/id/<int:article_id>.html', blog_views.article, name='article'),
    path('article/title/<str:title>.html', blog_views.article_name, name='article_name'),
    # note
    path('note/add', blog_views.add_note, name='add_note'),
    path('notes/<int:article_id>',blog_views.notes, name='notes'),
    # html
    path('love2018.html', blog_views.love2018, name='love2018'),
]

重点:re_path和url可以使用正则表达式,path不能。

基本使用方式为:路径+方法名+url名

路径:不用多说,就是访问网页的路径

方法名:该路径对应处理页面逻辑的方法

url名:用于在模板中自动生成路径

模板中使用生成url

代码:

<li><i class="iconfont"></i> 
    {% for tag in article.tags_str %}
    <a href="{% url 'tag' tag %}">{{tag}}</a>
    {% if not forloop.last %},{% endif %}
    {% endfor %}
</li>

{% url 'tag' tag %}url标记这里生成一个url,tag对应url名,最后的tag为要传到url的参数。

例子:

https://www.imzcm.com/tag/Django

就这样~~


作者

NewImaging
  • Shadust
  • 有你,真好~

评论