Django URL和View的關(guān)系說明
URL和View的關(guān)系
1、每次用戶發(fā)來一個HttpRequest請求,Django會用URL_pattern與請求進行匹配,匹配到第一個URL_pattern就會把請求轉(zhuǎn)向?qū)?yīng)的view
2、view用來響應(yīng)request,并返回response,response里可以包含網(wǎng)頁文件呀,圖片等等。所以項目中絕大部分代碼均在此編寫。
view 可以引入通用模板來減少代碼量,具體查看文檔
Use generic views
3、view引入HTML文件的方法:
在一個app下建立一個templates文件夾,將html文件放進去該文件夾
這里其實不一定要把HTML文件放在這個templates里,可以隨意定義
不過,需要在setting.py里,找到templates,
修改DIRS:[ os.path.join (BASE_DIR,'你定義的html存放的文件夾')]
在app下 view.py 文件,在里面寫好view函數(shù)
def 函數(shù)名(request):
return render(request,'index.html')
render(渲染)需要三個變量, 第一個變量是request請求,第二個是模版所在目錄,第三個是一個字典(可選),字典用于對應(yīng)模板里設(shè)計的變量,可以用locals()將函數(shù)里設(shè)計的變量自動轉(zhuǎn)換為字典
4、在對于app下創(chuàng)建一個urls.py ,寫入如下內(nèi)容
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ]
5、在項目文件夾里找到 urls.py 加入如下內(nèi)容
from django.urls import include, path urlpatterns = [ path('polls/', include('polls.urls')), path('admin/', admin.site.urls), ]
對于<a>標簽里的 href 可以用 {% url 'url名' %}來代替,url名指的是 urls.py 里的path('login.html/', views.my_login, name='url名'),
Django 中通常使用 get_object_or_404()來捕捉 404 錯誤,而不用自己寫 try...except
def detail(request, question_id): question = get_object_or_404(Question, pk=question_id) return render(request, 'polls/detail.html', {'question': question})
補充:django中url與view配置方法
django中url與view配置方法(一)
url.py
from django.conf.urls import url from . import views urlpatterns = [ url(r'^$', views.showAssets, name='show_assets'), ]
views.py
# -*- coding: utf-8 -*- from django.shortcuts import render_to_response # Create your views here. def showAssets(request): return render_to_response('assets_index.html', {})
django中url與view配置方法(二)
url.py
# -*- coding: utf-8 -*- from django.conf.urls import url from app001.views import IndexView urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$', IndexView.as_view(), name="index"), ]
views.py
# -*- coding: utf-8 -*- from django.views.generic.base import View from django.shortcuts import render # Create your views here. class IndexView(View): def get(self, request): return render(request, 'index.html', {})
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Pytorch pth 格式轉(zhuǎn)ONNX 格式的詳細過程
PyTorch 訓練的模型,需要在Jetson nano 上部署,jetson 原生提供了TensorRT 的支持,所以一個比較好的方式是把它轉(zhuǎn)換成ONNX 格式,然后在通過ONNX 轉(zhuǎn)換成TensorRT 格式,這篇文章主要介紹了Pytorch pth 格式轉(zhuǎn)ONNX 格式,需要的朋友可以參考下2023-05-05python 保存float類型的小數(shù)的位數(shù)方法
今天小編就為大家分享一篇python 保存float類型的小數(shù)的位數(shù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python+matplotlib實現(xiàn)計算兩個信號的交叉譜密度實例
這篇文章主要介紹了Python+matplotlib實現(xiàn)計算兩個信號的交叉譜密度實例,具有一定借鑒價值,需要的朋友可以參考下2018-01-01windows下python連接oracle數(shù)據(jù)庫
這篇文章主要為大家詳細介紹了windows下python連接oracle數(shù)據(jù)庫,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06淺談Python在pycharm中的調(diào)試(debug)
今天小編就為大家分享一篇淺談Python在pycharm中的調(diào)試(debug),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11Python 余弦相似度與皮爾遜相關(guān)系數(shù) 計算實例
今天小編就為大家分享一篇Python 余弦相似度與皮爾遜相關(guān)系數(shù) 計算實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12