(4)django的新手三件套(返回頁面、返回字符、重定向)


from django.shortcuts import render,HttpResponse,redirect

新手三件套,前期開發都會用到

render   #向瀏覽器返回頁面

HttpResponse   #向瀏覽器返回字符內容

redirect   #重定向

 

django里有分層的概念

urls.py就是路由層

views.py 就是視圖層

templates.py 就是模板層

modles.py  就是模型層

 

django框架的簡單使用

urls.py

from app01 import views   #這里導入app01包下的模塊
urlpatterns = [
url(r'^admin/', admin.site.urls),
# 執行函數的對應關系,這個是固定寫法,第一個r后面跟的是一個路徑,后面跟倒入的函數
url(r'index/',views.index),
]

views.py

from django.shortcuts import render,HttpResponse,redirect

# Create your views here.
# 這里寫函數
def index(request): # 這里一定要有一個形參,request這個是標准的寫法
# 這個可以向瀏覽區返回內容
return HttpResponse('hello web')

PS:訪問地址的時候需要在地址后面跟對應關系的路徑,否則404報錯

 

django返回一個html頁面

urls.py

from app01 import views   #這里導入app01包下的模塊
urlpatterns = [
url(r'^admin/', admin.site.urls),
# 執行函數的對應關系,這個是固定寫法,第一個r后面跟的是一個路徑,后面跟倒入的函數
url(r'index/',views.index),
]

views.py

from django.shortcuts import render,HttpResponse,redirect

# Create your views here.
# 這里寫函數
def index(request): # 這里一定要有一個形參,request這個是標准的寫法
# 這個可以向瀏覽區返回內容
return render(request,'index.html')

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我是首頁</title>
</head>
<body>
<h1>django的index頁面</h1>
<a href="http://www.baidu.com">點擊進百度</a>
</body>
</html>

django返回一個重定向

urls.py

from app01 import views   #這里導入app01包下的模塊
urlpatterns = [
url(r'^admin/', admin.site.urls),
# 執行函數的對應關系,這個是固定寫法,第一個r后面跟的是一個路徑,后面跟倒入的函數
url(r'index/',views.index),
]

views.py

from django.shortcuts import render,HttpResponse,redirect

# Create your views here.
def index(request): # 這里一定要有一個形參,request這個是標准的寫法
# 返回一個重定向
'''當你訪問這個函數的時候,這個函數直接返回一個重定向的地址給你,這樣你訪問的就是這個返回的地址'''
return redirect('http://www.baidu.com') #如果這里是一個頁面文件的地址,則前后都要加 / 否則會出錯

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我是首頁</title>
</head>
<body>
<h1>django的index頁面</h1>
<a href="http://www.baidu.com">點擊進百度</a>
</body>
</html>

PS:重定向就是你發送一個請求,我返回另一個地址給你訪問

 

關於路徑的查找

默認django的settings文件里面已經寫好了,就是當前項目的跟目錄,如果項目下還有目錄則自己可以拼寫

返回模板文件夾templates下app01文件夾內的頁面模板文件

from django.shortcuts import render,HttpResponse,redirect

# Create your views here.
def index(request): # 這里一定要有一個形參,request這個是標准的寫法
# 因為默認是項目根目錄,所以直接可以寫模板文件下文件及名字+文件名
return render(request,'app01/time.html')

 

關於urls里面路由和函數的對應關系,正則匹配

from app01 import views
urlpatterns = [
# 這里帶了^ 就是以admin的開頭字母a來正則匹配
url(r'^admin/', admin.site.urls),
# url是一個函數,后面跟的是函數的參數,第一個是一個正則表達式,只要能匹配上index就能執行函數
url(r'index',views.index),
# 如果是^ 開頭和結束符號$結尾,就是只能匹配的路徑只有index,寫其他的都不行
url(r'^index$',views.index),
]

PS:用戶請求的路徑只有符合路由和函數的對應關系才能請求成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM