Python之web开发(六):python使用django框架搭建网站之登陆页搭建不同页面之间跳转
【寫在前面】:有關urls及path函數的應用詳見:https://blog.csdn.net/weixin_44322778/article/details/102598346
【官方說明】:
- 規劃 URLs?
簡潔優雅的 URL 規劃對于一個高質量 Web 應用來說至關重要。Django 推崇優美的 URL 設計,所以不要把諸如 .php 和 .asp 之類的冗余的后綴放到 URL 里。
為了設計你自己的 URLconf ,你需要創建一個叫做 URLconf 的 Python 模塊。這是網站的目錄,它包含了一張 URL 和 Python 回調函數之間的映射表。URLconf 也有利于將 Python 代碼與 URL 進行解耦(譯注:使各個模塊分離,獨立)。
詳見:https://docs.djangoproject.com/zh-hans/2.0/topics/http/urls/
【step1】創建登陸頁面應用
python manage.py startapp users
添加users.url文件:
【step2】:配置好總路由和分路由
第一步是要在根 URLconf 文件中指定我們創建的 users.urls和myapp.urls模塊。在 myapp/urls.py 文件的 urlpatterns 列表里插入兩個 include(), 如下:
- 總路由配置
ps:函數 include() 允許引用其它 URLconfs。每當 Django 遇到 :func:~django.urls.include 時,它會截斷與此項匹配的 URL 的部分,并將剩余的字符串發送到 URLconf 以供進一步處理。
- 分路由配置
我們設計 include() 的理念是使其可以即插即用。因為myapp應用有它自己的 URLconf( myapp/urls.py ),他們能夠被放在 “/polls/” , “/fun_polls/” ,"/content/polls/",或者其他任何路徑下,這個應用都能夠正常工作。
myapp.urls
users.urls
from django.urls import path from . import view1urlpatterns = [path('', view1.login, name='login'),path('', view1.register, name='register'),]【step3】:配置好總路由和分路由對應的HTML文件
為 URL 名稱添加命名空間?
官方文檔詳見:https://docs.djangoproject.com/zh-hans/2.0/intro/tutorial03/
教程項目只有一個應用,polls 。在一個真實的 Django 項目中,可能會有五個,十個,二十個,甚至更多應用。Django 如何分辨重名的 URL 呢?舉個例子,polls 應用有 detail 視圖,可能另一個博客應用也有同名的視圖。Django 如何知道 {% url %} 標簽到底對應哪一個應用的 URL 呢?
答案是:在根 URLconf 中添加命名空間。在 polls/urls.py 文件中稍作修改,加上 app_name 設置命名空間:
polls/urls.py
from django.urls import path
from . import views
app_name = ‘polls’
urlpatterns = [
path(’’, views.index, name=‘index’),
path(‘int:question_id/’, views.detail, name=‘detail’),
path(‘int:question_id/results/’, views.results, name=‘results’),
path(‘int:question_id/vote/’, views.vote, name=‘vote’),
]
現在,編輯 polls/index.html 文件,從:
polls/templates/polls/index.html
- {{ question.question_text }}
- 修改為指向具有命名空間的詳細視圖:
polls/templates/polls/index.html
- {{ question.question_text }}
- 當你對你寫的視圖感到滿意后,請閱讀 教程的第 4 部分 了解簡單的表單處理和通用視圖。 **【step4】:結果驗證**  點擊”**用戶登錄**“ 
總結
以上是生活随笔為你收集整理的Python之web开发(六):python使用django框架搭建网站之登陆页搭建不同页面之间跳转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3.7.4+Django2.
- 下一篇: python将EXCEL数据导入数据库时