<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] 前面我們已經創建好數據模型了,并且在admin后臺中添加了一些測試用戶。下面我們就要設計好站點的url路由、對應的處理視圖函數以及使用的前端模板了。 <br /> ## **一、 路由設計** 我們初步設想需要下面的四個URL: | URL | 視圖 | 模板 | 說明 | | --- | --- | --- | --- | | /index/ | login.views.index | index.html | 主頁 | | /login/ | login.views.login | login.html | 登錄 | | /register/ | login.views.register | register.html | 注冊 | | /logout/ | login.views.logout | 無需專門的頁面 | 登出 | 重要說明:由于本項目目的是打造一個針對管理系統、應用程序等需求下的可重用的登錄/注冊app,而不是門戶網站、免費博客等無需登錄即可訪問的網站,所以在url路由、跳轉策略和文件結構的設計上都是盡量自成體系。具體訪問的策略如下: * 未登錄人員,不論是訪問index還是login和logout,全部跳轉到login界面 * 已登錄人員,訪問login會自動跳轉到index頁面 * 已登錄人員,不允許直接訪問register頁面,需先logout * 登出后,自動跳轉到login界面 考慮到登錄注冊系統屬于站點的一級功能,為了直觀和更易于接受,這里沒有采用二級路由的方式,而是在根路由下直接編寫路由條目,同樣也沒有使用反向解析名(name參數)。所以,在重用本app的時候,一定要按照app使用說明,加入相應的url路由。 根據上面的策劃,打開`mysite/urls.py`文件,寫入下面的代碼: ~~~ from django.contrib import admin from django.urls import path from login import views urlpatterns = [ path('admin/', admin.site.urls), path('index/', views.index), path('login/', views.login), path('register/', views.register), path('logout/', views.logout), ] ~~~ 注意要先從login導入views模塊。 <br /> ## **二、 架構初步視圖** 路由寫好了,就進入`login/views.py`文件編寫視圖的框架,代碼如下: ~~~ from django.shortcuts import render from django.shortcuts import redirect # Create your views here. def index(request): pass return render(request, 'login/index.html') def login(request): pass return render(request, 'login/login.html') def register(request): pass return render(request, 'login/register.html') def logout(request): pass return redirect("/login/") ~~~ 我們先不著急完成視圖內部的具體細節,而是把框架先搭建起來。 注意: * 在頂部額外導入了`redirect`,用于logout后,頁面重定向到‘/login/’這個url,當然你也可以重定向到別的頁面; * 另外三個視圖都返回一個render調用,render方法接收request作為第一個參數,要渲染的頁面為第二個參數,以及需要傳遞給頁面的數據字典作為第三個參數(可以為空),表示根據請求的部分,以渲染的HTML頁面為主體,使用模板語言將數據字典填入,然后返回給用戶的瀏覽器。 * 渲染的對象為login目錄下的html文件,這是一種安全可靠的文件組織方式,我們現在還沒有創建這些文件。 <br /> ## **三、 創建HTML頁面文件** 在項目根路徑的login目錄中創建一個templates目錄,再在templates目錄里創建一個login目錄。這么做有助于app復用,防止命名沖突,能更有效地組織大型工程,具體說明請參考教程前面的相關章節。 在`login/templates/login`目錄中創建三個文件`index.html`、`login.html`以及`register.html`,并寫入如下的代碼: **`index.html`:** ~~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>首頁</title> </head> <body> <h1>主頁!</h1> </body> </html> ~~~ **`login.html`:** ~~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>登錄</title> </head> <body> <h1>登錄頁面</h1> </body> </html> ~~~ **`register.html`**: ~~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>注冊</title> </head> <body> <h1>注冊頁面</h1> </body> </html> ~~~ 到目前為止,我們的工程目錄結構如下圖所示: ![](https://img.kancloud.cn/a8/51/a85155acc87793503ba2d4db268f0788_257x740.png) <br /> ## **四、 測試路由和視圖** 啟動服務器,在瀏覽器訪問`http://127.0.0.1:8000/index/`等頁面,如果能正常顯示,說明一切OK! ![image](http://liujiangblog.com/static/images/course/106-2.png) 現在,我們整個項目的基本框架已經搭建起來了!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看