Django跳轉到不同的頁面的方法和實例–使用Django建立你的第一個網站


1 前記

這次記錄的這些東西,主要是自己在搭建個人網站的時候遇到的一些問題記錄,不算嚴格意義上的教程和使用說明。按照目前自己的web水平,去寫這方面的教程無疑是誤人子弟。因為自己雖然做程序員很多年,但是一直偏重於底層操作系統,驅動及算法的研究。web一直沒有怎么玩過,直到最近自己有項目需要了,才自己摸索起來。寫這個的目的有兩個,一個是自己做個積累,另一個就是為像同樣我這樣類型的人遇到問題時候,有個參考的地方。有問題的地方還請各位專家指出。共同學習和成長。等到把web做的比較好的時候,使用django寫出來一個像樣的網站時候,再打算系統性的寫一個django方面的專題。

2 基本流程

在跟着網上某大牛的教程學習網站制作的時候,遇到了要從主頁跳轉到不同html頁面的問題。筆者認為,這位大牛寫的灰常不錯,值得拜讀,這里是他的文章鏈接:HelloDjango - Django博客教程(第二版)_追夢人物的博客 有興趣的朋友可以進去看一下,寫的非常有品味。他把這個問題留給了讀者,正好借此契機,研究一下這個方向吧。
通過查閱資料和反復練習,發現在django中不同頁面的跳轉一般有這幾步驟:
  第一步:新建html(eg:login.html),並放置如下路徑:
project/templates/ 下面

  第二步:urls.py配置login.html路徑

urlpatterns = [
path(‘login/’,views.login),#添加index/路徑配置
]

  第三步:views.py定義函數:

def login(request):
return render(request,‘login.html’)

這個是一個基本的流程,也是jdango常用的流程。 jdango一般是通過url鏈接到不同的html的,這個就是點擊login的時候,會鏈接到views.login
views.login的定義如第三步所示:這里的login.html對應的就是template下面的login.html

3 基本例子

a APP的urls.py配置如下:

1 from django.urls import path
2 from . import views
3 
4 urlpatterns = [
5   path('', views.hello),
6   path('login/', views.login, name='login'),  # 這里設置name,為了在模板文件中,寫name,就能找到這個路由
7   path('book/', views.book, name='book'),
8   path('movie/', views.movie, name='movie'),
9   path('book/detail/<book_id>/<catgray>/', views.book_detail, name='detail'),]

 

b APP的views.py文件配置如下:

 1 from distutils.command import register
 2 
 3 from django.shortcuts import render, reverse, redirect
 4 from django.http import HttpResponse
 5 
 6 def hello(request):
 7   context          = {}
 8   context['hello'] = 'Hello World!'
 9   return render(request, 'hello.html', context)
10 
11 def login(request):
12   return render(request, 'login.html', {'articles': 18})
13 
14 def book(request):
15   return HttpResponse("this is caoyin read pages")
16 
17 
18 def movie(request):
19   return render(request, 'index.html', {'articles': 18})
20 
21 
22 def book_detail(request, book_id, catgray):
23   text = '文章詳情頁,該文章ID是:%s,分類是:%s' % (book_id, catgray)
24   return HttpResponse(text)

 

c hello.html的文件配置如下:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4   <meta charset="UTF-8">
 5   <title>Title</title>
 6 </head>
 7 <body>
 8 
 9 
10 <ul>
11   <li><a href="/">首頁</a></li>
12   <li><a href="{% url 'login' %}?next=asd/ ">登錄</a></li>
13   <li><a href="{% url 'book' %}">讀書</a></li>
14   <li><a href="{% url 'movie' %}">電影</a></li>
15   <li><a href="{% url 'detail' book_id='1' catgray=2 %}">這個是dylan的第一個example</a></li>
16 </ul>
17 
18 </body>

 

d index.html 是在帶你電影后被跳轉過去的,源碼如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>權利的游戲</title>
</head>
<body>
  <h1>Hello World!</h1>
  <p>caoyin 的 django 測試。</p>
  {% block mainbody %}
     <p>original</p>
  {% endblock %}
</body>
</html>

4 源碼

整個能運行的源碼下載請到我github上地址:GitHub - DyLanCao/django_example: my_diango_example
回退到提交:commit 7ec65933d3e1e40b513e3bd779f57264b00442fa 即可

5 備忘

 1 參考文檔:https://www.zmrenwu.com/courses/hellodjango-blog-tutorial/


免責聲明!

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



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