Django的APP,视图,url和模板
新建app
在項目的根目錄執行python manage.py startapp app名字
URL概念:
URL(Uniform Resoure Locator)統一資源定位符是對可以從互聯網上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯網上標準資源的地址。互聯網上的每個文件都有一個唯一的URL,它包含的信息指出文件的位置以及瀏覽器應該怎么處理它
urls.py的作用:
http://127.0.0.1:8000/hello/
URL解釋:
schema://host[:port#]/path/…/[?query-string][#anchor]
schema:指定使用的協議(例如:http, https, ftp)
host:Http服務器的IP地址或者域名
port:端口號,http默認是80端口
path:訪問資源的路徑
query-string:發送給http服務器的數據
anchor:錨點
原理
當一個請求來到的時候
path的參數
path(route, view, kwargs=None, name=None)
route 是一個字符串的url規則
view 是個視圖
kwargs 額外參數,傳遞給view,必須是一個字典
name url的命名
轉換器的使用:
re_path正則匹配
re_path('^hello/$',views.test5), re_path('^hello/(?P<yy>[0-9]+)/',views.test6), def test5(request):return HttpResponse('這是用的re_path設置的')def test6(request,yy):print(yy,type(yy))return HttpResponse('hello %s'%yy)代碼 演練:
在student的app下的urls.py
student.view.py
ip+端口+app+url匹配模式
一個url對應一個視圖函數,但我們的視圖越來越多時,url也就越來越多
一個project有一個總的urls.py
各個app也可以自己建立自己的urls.py
用include()函數在project的urls.py文件進行注冊
url命名
name參數可以給這個url取一個合適的名字。通過給url取名字,以后在view或者模板中使用這個URL,就只需要通過這個名字就可以了。這樣做的原因是防止url的規則更改,會導致其他地方用了這個url的地方都需要更改,但是如果取名字了,就不要做任何改動了。
模板系統
模板放在哪???
在主目錄下創建一個templates目錄用來存放所有的html的模板文件.templates目錄里面在新建各個以app名字命名的目錄來存放各個app中模板文件.
render方法是django封裝好用來渲染模板的方法
很方便,很好用!!!
總結
在url中捕獲參數
在url規則中使用<變量名>可以捕獲url中的值
傳遞給視圖捕獲的值是 字符串
路徑轉換器,上面案例:int:pk
常用的轉換器:
str 匹配除了‘/'路徑分隔符之外的所有字符串
int 匹配任意整數
slug 匹配任意ascii字符 加上連字符和下劃線
uuid 格式化id
path 匹配任意非空字符
使用正則表達式 re_path(route, view, kwargs=None, name=None)
django 搜索 url 搜索的是什么?
只搜索路徑部分,跟參數,以及請求方法(get,post)無關
同一個url 可以匹配 get, post
包含其他URLconfs,include
傳遞額外參數,path,re_path 方法中,傳遞一個kwargs 的字典參數
當kwargs 中的key 與 url捕獲中的key 一致的時候,以kwargs為準
url 命名,頁面重定向 ,跳轉頁面 登錄之后, 某個操作之后
app_name:定義在 app文件夾下的urlconf模塊中app_name = app名稱
模板系統
html 源碼寫到模板文件中
return render(request, 'teacher/index.html')總結
以上是生活随笔為你收集整理的Django的APP,视图,url和模板的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 十克等于多少钱?
- 下一篇: 东坡区有没有一个姓苗苗小学?