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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

分组,命名分组,url的命名和反向解析

發(fā)布時(shí)間:2024/4/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分组,命名分组,url的命名和反向解析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.位置分組

匹配到參數(shù),按照位置參數(shù)的方式傳遞給視圖函數(shù) 視圖函數(shù)需要定義形參接收變量

  1.寫在url里面的:

# 刪除url(r'^del_class/(\d+)',views.del_class),

  2.寫在html里面的:

<a class="btn btn-danger btn-sm" href="/del_class/{{ i.pk }}/">刪除</a>

  3.寫在視圖函數(shù)里面的:

def del_class(request,pk):#在request后面寫傳進(jìn)來(lái)的參數(shù) 可以設(shè)置默認(rèn)值if not models.ClassTable.objects.filter(pk=pk):return HttpResponse('數(shù)據(jù)不存在')models.ClassTable.objects.get(pk=pk).delete()return redirect('/class_list/')

2命名分組:

  匹配到關(guān)鍵字參數(shù),按照關(guān)鍵字參數(shù)的方式傳遞給視圖函數(shù) 視圖函數(shù)需要定義關(guān)鍵字參數(shù)

  傳到視圖函數(shù)里面的必須是關(guān)鍵字參數(shù)名

# 刪除url(r'^del_class/(?P<pk>\d+)',views.del_class),  

捕獲的參數(shù)永遠(yuǎn)都是字符串

參數(shù)說(shuō)明:

  • 正則表達(dá)式:一個(gè)正則表達(dá)式字符串
  • views視圖:一個(gè)可調(diào)用對(duì)象,通常為一個(gè)視圖函數(shù)
  • 參數(shù):可選的要傳遞給視圖函數(shù)的默認(rèn)參數(shù)(字典形式)
  • 別名:一個(gè)可選的name參數(shù)

注意:

Django 2.0版本中的路由系統(tǒng)是下面的寫法(官方文檔):

from django.urls import path,re_pathurlpatterns = [path('articles/2003/', views.special_case_2003),path('articles/<int:year>/', views.year_archive),path('articles/<int:year>/<int:month>/', views.month_archive),path('articles/<int:year>/<int:month>/<slug:slug>/', views.article_detail), ] View Code

3.include其他的urls.py

把urls.py放到app里面,

  項(xiàng)目里的urls? 導(dǎo)入app里面的urls.py

from django.conf.urls import url,include#印可肉的 from django.contrib import admin from app01 import views urlpatterns = [url(r'^admin/', admin.site.urls),url(r'app01/',include('app01.urls')) ]      多個(gè)app上面可以額外的寫前綴  

4.URL的命名和反向解析

給url起別名:

  1.普通url

# 刪除url(r'^del_class/(?P<pk>\d+)',views.del_class,name='bieming' ),  

通過url的名字反向解析拿出rul的東西

  2.使用

在視圖函數(shù)里引入模塊? ? 用reverse? ? 拿出來(lái)的是字符串類型的

from django.urls import reverse reverse('別名')  # ——》 ‘/app01/del_class/’

 模板中使用:? 如果有命名分組的話,要給命名分組傳值

<a class="btn btn-danger btn-sm" href="{% url 'bieming' i.pk %}">刪除</a>

  

namespace指定名稱空間
url(r'app01/',include('app01.urls',namespace='app01')), url(r'app02/',include('app02.urls',namespace='app02'))

app里面的

url(r'^home/$', views.home, name='home'), # app01

  

視圖:

? reverse(’app01:home‘) ——》 /app01/home/

? reverse(’app02:home‘) ——》 /app02/home/

模板:

? {% url 'app01:home' %} —》 /app01/home/

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

總結(jié)

以上是生活随笔為你收集整理的分组,命名分组,url的命名和反向解析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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