<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                目錄 文件 * Linux * Mysql * Python * Django * 01 Web應用 * Django3.2 教程 * django 快速搭建blog * imooc-Django全棧項目開發實戰 * redis * Windows * hm軟件測試 * 軟件測試面試 * 接口測試 * 性能測試 * jmeter * PyCharm * 快捷工具 * Apache * HTTP / HTTPS協議 * imooc * Python工程師2020升級版 * 階段四:Django全棧項目開發實戰 * Selenium3+python3 * 書籍 新建章節 最后由zjut\_cheng在1 年前編輯 \[TOC\] ? \* 初始Django框架 ? ``` Django的安裝及項目的搭建 Django項目開發的基本流程 Django中從請求到響應的流程 視圖、類視圖、快捷視圖函數、內置視圖的重寫 ``` ? \* Django中的模板 ? ``` 模板引擎的選擇和配置 模板語法(變量、標簽) 模板的繼承與包含 過濾器、自定義過濾器 ``` ? \* Django介紹 ? ``` 開源免費的 Python高級Web框架,內置電池, 用于快速開發可靠、安全、可擴展的web應用 ``` ? \* 使用 Django框架的開發步驟 ? ``` 步驟一:選擇合適的版本 步驟二:安裝及配置 步驟三:生成項目結構 步驟四:內容開發 步驟五:迭代、上線、維護 ``` ? ? \* 版本兼容情況 !\[\](images/F6B746C6\-1F0D\-4435\-BD0E\-139E69595AB5.jpg) ? 當前選擇版本:Django3.0 ? ? ## \*\*Django的安裝\*\* ? \* 方式一:pip安裝【推薦】 `>>> pip3 install django` 或者指定安裝源 `>>> pip3 install django -i https://pypi.tuna.tsinghua.edu.cn/simple` ? \* 方式二:源碼安裝 `python setup.py install` ? ? \* 檢測是否安裝成功 ``` \>>>import django \>>>django. version '3.0.5' ``` ? ? ## \*\*Django項目的創建\*\* ? \* 方式一:使用命令行生成模板 `>>> django-admin\[.py\] startproject my\_project` ? \* 方式二:使用pyCharm創建項目 ? !\[\](images/screenshot\_1621751638267.png) ? ? ## \*\*啟動開發服務器\*\* ? \*\*啟動服務器\*\* `>>> python3 manage.py runserver` ? ? ## \*\*runserver常用參數\*\* \* 指定端口 ``` \>>> python manage.py runserver 9527 ``` 生成目錄如下: !\[\](images/screenshot\_1621776164351.png) ? \* 指定IP及端口 ``` \>>> python manage.py runserver 0.0.0.0:9527 ``` 提示:需要在settings.py 配置 ALLOWED\_HOSTS ? ? \*\*創建模塊\*\* \* 創建hello模塊 `python manage.py startapp hello` ? ? \*\*完成第一個頁面\*\* \* 第一步: 在ⅵews. py文件寫個函數 \* 第二步: 在urls.py配置規則 ? ``` #views.py ? from django.shortcuts import render ? def hello\_world(request): return HttpResponse('hello world') ``` ? ``` #urls.py ? from django.urls import path from hello import views ? urlpatterns = \[ path('python/', views.hello\_world), \] ``` ? ? ## \*\*從請求到響應\*\* ? \*\*什么是視圖\*\* ``` 一個視圖函數,簡稱視圖,是一個簡單的 Python函數 def view\_name() 定義視圖函數 ? 接受一個請求,返回一個響應。 ``` ? ? \*\*URL的設計\*\* \* 設計簡單優雅的URL √ 使用正則表達式 √ 指定參數類型 ? ? \*\*Path參數解釋\*\* \* route: URL匹配規則 \* view: 視圖函數 \* name: 路由的名稱 \* \*\*kwargs: 其他參數 ? ? \*\*path( )參數解釋\*\* \* route: URL匹配規則 \* view: 視圖函數 \* name: 路由的名稱 \* \*\*kwargs: 其他參數 ? ? ## \*\*視圖響應的內容\*\* \* 響應可以是 文本 HTML內容 圖像 甚至是404、重定向等 ? ? \*\*小結\*\* \* 視圖是一個 Python函數,用來處理htt請求 \* 通過path和 include配置, 將URL和視圖函數關系建立起來 ? ? ## \*\*在視圖中處理業務邏輯\*\* ### \*\*響應HTML內容\*\* ? \* def view\_name( )定義視圖函數 ? ``` from django.http import HttpResponse ? def hello\_html(request): '''響應HTML內容''' html = ''' hello html ''' return HttpResponse(html) ``` ? ? ### \*\*獲取URL參數\*\* \* 獲取URL中的指定類型的參數 ? ``` URL規則: path('article//', views.article\_list), ? 輸入URL: http://127.0.0.1:9527/hello/article/05/ ? 視圖編寫: def article\_list(request, month): ''' :param request: :param month: 今年某個月的文章列表 :return: ''' return HttpResponse('article:{}'.format(month)) ``` ? \* 獲取URL中的正則匹配的參數 ? ``` URL正則: re\_path(r'^article/(?P0?\[1-9\]|1\[-12\])/$', views.article\_list) ``` ? ? ? ### \*\*獲取GET參數\*\* ? \* 獲取URL中的請求(GET/POST等) ``` 輸入URL: http://127.0.0.1:8000/index/?year=2021 ? 視圖編寫: def index(request): year = request.GET.get('year', None) ``` ? ? \* 小結: 原來參數還可以寫在URL里 ? ? ## \*\*從文件響應HTML內容\*\* ? \*\*原理解析\*\* \* 第一步,從磁盤讀取HTML文件 \* 第二步,替換HTML中的特殊字符 \* 第三步,發送給瀏覽器 ? ? \*\*render\_to\_string( )函數\*\* ``` render\_to\_string( template\_name, context=None, request=None, using=None) ``` \* 參數解釋 ``` template\_name: 模板名稱 request: 請求對象 context: 模板上下文對象 (dict) using: 模板引擎名稱 (如: Jinja2) ``` ? ? \*\*render()函數\*\* ``` render( request, template\_name, context=None, content\_type=None, status=None, using=None, ) ``` 參數解釋: \* request: 請求對象 \* template\_name: 模板名稱 \* context: 模板上下文對象(dict) \* content\_type: MIME類型,默認為text/html \* status: HTTP狀態碼 \* using: 模板引擎名稱(如: jinja2) ? ? ## \*\*請求與響應\*\* ? !\[\](images/screenshot\_1628418550055.png) ? ? \*\*請求對象 Httprequest\*\* \* 請求方式 method (POST/GET/...) \* 請求頭信息 META/headers REMOTE\_ADDR\----請求的IP地址 Http\_User\_Agent\-----用戶請求終端信息 \* 獲取請求傳遞參數 GET\----GET請求參數 POST\-----POST請求參數 COOKIES\-----cookie信息 FILES\-----文件信息 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? * [**Django的安裝**](http://www.hmoore.net/book/zjut_cheng/python_linux_mysql/edit#Django_48) * [**Django項目的創建**](http://www.hmoore.net/book/zjut_cheng/python_linux_mysql/edit#Django_68) * [**啟動開發服務器**](http://www.hmoore.net/book/zjut_cheng/python_linux_mysql/edit#_79) * [**runserver常用參數**](http://www.hmoore.net/book/zjut_cheng/python_linux_mysql/edit#runserver_87) * [**從請求到響應**](http://www.hmoore.net/book/zjut_cheng/python_linux_mysql/edit#_136) * [**視圖響應的內容**](http://www.hmoore.net/book/zjut_cheng/python_linux_mysql/edit#_171) * [**在視圖中處理業務邏輯**](http://www.hmoore.net/book/zjut_cheng/python_linux_mysql/edit#_187) * [**響應HTML內容**](http://www.hmoore.net/book/zjut_cheng/python_linux_mysql/edit#HTML_188) * [**獲取URL參數**](http://www.hmoore.net/book/zjut_cheng/python_linux_mysql/edit#URL_209) * [**獲取GET參數**](http://www.hmoore.net/book/zjut_cheng/python_linux_mysql/edit#GET_239) * [**從文件響應HTML內容**](http://www.hmoore.net/book/zjut_cheng/python_linux_mysql/edit#HTML_258) * [**請求與響應**](http://www.hmoore.net/book/zjut_cheng/python_linux_mysql/edit#_306) * 初始Django框架 ~~~ Django的安裝及項目的搭建 Django項目開發的基本流程 Django中從請求到響應的流程 視圖、類視圖、快捷視圖函數、內置視圖的重寫 ~~~ * Django中的模板 ~~~ 模板引擎的選擇和配置 模板語法(變量、標簽) 模板的繼承與包含 過濾器、自定義過濾器 ~~~ * Django介紹 ~~~ 開源免費的 Python高級Web框架,內置電池, 用于快速開發可靠、安全、可擴展的web應用 ~~~ * 使用 Django框架的開發步驟 ~~~ 步驟一:選擇合適的版本 步驟二:安裝及配置 步驟三:生成項目結構 步驟四:內容開發 步驟五:迭代、上線、維護 ~~~ * 版本兼容情況 ![](https://git.kancloud.cn/repos/zjut_cheng/python_linux_mysql/raw/e70719d85a80a3c2ca1188fc18e6ec8bf227ae6a/images/F6B746C6-1F0D-4435-BD0E-139E69595AB5.jpg?access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NjYxODc4NjcsImlhdCI6MTY2NjE0NDY2NywicmVwb3NpdG9yeSI6InpqdXRfY2hlbmdcL3B5dGhvbl9saW51eF9teXNxbCIsInVzZXIiOnsidXNlcm5hbWUiOiJ6anV0X2NoZW5nIiwibmFtZSI6InpqdXRfY2hlbmciLCJlbWFpbCI6InpqdXRfY2hlbmdAMTYzLmNvbSIsInRva2VuIjoiMGVlOTcyM2Y4MzdlMzhmYTQ2MGY1Y2Y2ZTNlMDkyM2MiLCJhdXRob3JpemUiOnsicHVsbCI6dHJ1ZSwicHVzaCI6dHJ1ZSwiYWRtaW4iOnRydWV9fX0.oozl9NCIrqIdzPxQUrv7gt8Gmz6rwFvqi7wiTgOM8WI) 當前選擇版本:Django3.0 ## **Django的安裝** * 方式一:pip安裝【推薦】 `>>> pip3 install django` 或者指定安裝源 `>>> pip3 install django -i https://pypi.tuna.tsinghua.edu.cn/simple` * 方式二:源碼安裝 `python setup.py install` * 檢測是否安裝成功 ~~~ >>>import django >>>django. version '3.0.5' ~~~ ## **Django項目的創建** * 方式一:使用命令行生成模板 `>>> django-admin[.py] startproject my_project` * 方式二:使用pyCharm創建項目 ![](https://git.kancloud.cn/repos/zjut_cheng/python_linux_mysql/raw/e70719d85a80a3c2ca1188fc18e6ec8bf227ae6a/images/screenshot_1621751638267.png?access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NjYxODc4NjcsImlhdCI6MTY2NjE0NDY2NywicmVwb3NpdG9yeSI6InpqdXRfY2hlbmdcL3B5dGhvbl9saW51eF9teXNxbCIsInVzZXIiOnsidXNlcm5hbWUiOiJ6anV0X2NoZW5nIiwibmFtZSI6InpqdXRfY2hlbmciLCJlbWFpbCI6InpqdXRfY2hlbmdAMTYzLmNvbSIsInRva2VuIjoiMGVlOTcyM2Y4MzdlMzhmYTQ2MGY1Y2Y2ZTNlMDkyM2MiLCJhdXRob3JpemUiOnsicHVsbCI6dHJ1ZSwicHVzaCI6dHJ1ZSwiYWRtaW4iOnRydWV9fX0.oozl9NCIrqIdzPxQUrv7gt8Gmz6rwFvqi7wiTgOM8WI) ## **啟動開發服務器** **啟動服務器** `>>> python3 manage.py runserver` ## **runserver常用參數** * 指定端口 ~~~ >>> python manage.py runserver 9527 ~~~ 生成目錄如下: ![](https://git.kancloud.cn/repos/zjut_cheng/python_linux_mysql/raw/e70719d85a80a3c2ca1188fc18e6ec8bf227ae6a/images/screenshot_1621776164351.png?access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NjYxODc4NjcsImlhdCI6MTY2NjE0NDY2NywicmVwb3NpdG9yeSI6InpqdXRfY2hlbmdcL3B5dGhvbl9saW51eF9teXNxbCIsInVzZXIiOnsidXNlcm5hbWUiOiJ6anV0X2NoZW5nIiwibmFtZSI6InpqdXRfY2hlbmciLCJlbWFpbCI6InpqdXRfY2hlbmdAMTYzLmNvbSIsInRva2VuIjoiMGVlOTcyM2Y4MzdlMzhmYTQ2MGY1Y2Y2ZTNlMDkyM2MiLCJhdXRob3JpemUiOnsicHVsbCI6dHJ1ZSwicHVzaCI6dHJ1ZSwiYWRtaW4iOnRydWV9fX0.oozl9NCIrqIdzPxQUrv7gt8Gmz6rwFvqi7wiTgOM8WI) * 指定IP及端口 ~~~ >>> python manage.py runserver 0.0.0.0:9527 ~~~ 提示:[需要在settings.py](http://xn--settings-q86nz141b394a.py/)配置 ALLOWED\_HOSTS **創建模塊** * 創建hello模塊 `python manage.py startapp hello` **完成第一個頁面** * 第一步: 在ⅵews. py文件寫個函數 * 第二步: 在urls.py配置規則 ~~~ #views.py from django.shortcuts import render def hello_world(request): return HttpResponse('hello world') ~~~ ~~~ #urls.py from django.urls import path from hello import views urlpatterns = [ path('python/', views.hello_world), ] ~~~ ## **從請求到響應** **什么是視圖** ~~~ 一個視圖函數,簡稱視圖,是一個簡單的 Python函數 def view_name() 定義視圖函數 接受一個請求,返回一個響應。 ~~~ **URL的設計** * 設計簡單優雅的URL √ 使用正則表達式 √ 指定參數類型 **Path參數解釋** * route: URL匹配規則 * view: 視圖函數 * name: 路由的名稱 * \*\*kwargs: 其他參數 **path( )參數解釋** * route: URL匹配規則 * view: 視圖函數 * name: 路由的名稱 * \*\*kwargs: 其他參數 ## **視圖響應的內容** * 響應可以是 文本 HTML內容 圖像 甚至是404、重定向等 **小結** * 視圖是一個 Python函數,用來處理htt請求 * 通過path和 include配置, 將URL和視圖函數關系建立起來 ## **在視圖中處理業務邏輯** ### **響應HTML內容** * def view\_name( )定義視圖函數 ~~~ from django.http import HttpResponse def hello_html(request): '''響應HTML內容''' html = ''' <html> <body> <h1 style="color:#f00">hello html</h1> </body> </html> ''' return HttpResponse(html) ~~~ ### **獲取URL參數** * 獲取URL中的指定類型的參數 ~~~ URL規則: path('article/<int:month>/', views.article_list), 輸入URL: http://127.0.0.1:9527/hello/article/05/ 視圖編寫: def article_list(request, month): ''' :param request: :param month: 今年某個月的文章列表 :return: ''' return HttpResponse('article:{}'.format(month)) ~~~ * 獲取URL中的正則匹配的參數 ~~~ URL正則: re_path(r'^article/(?P<month>0?[1-9]|1[-12])/$', views.article_list) ~~~ ### **獲取GET參數** * 獲取URL中的請求(GET/POST等) ~~~ 輸入URL: http://127.0.0.1:8000/index/?year=2021 視圖編寫: def index(request): year = request.GET.get('year', None) ~~~ * 小結: 原來參數還可以寫在URL里 ## **從文件響應HTML內容** **原理解析** * 第一步,從磁盤讀取HTML文件 * 第二步,替換HTML中的特殊字符 * 第三步,發送給瀏覽器 **render\_to\_string( )函數** ~~~ render_to_string( template_name, context=None, request=None, using=None) ~~~ * 參數解釋 ~~~ template_name: 模板名稱 request: 請求對象 context: 模板上下文對象 (dict) using: 模板引擎名稱 (如: Jinja2) ~~~ **render()函數** ~~~ render( request, template_name, context=None, content_type=None, status=None, using=None, ) ~~~ 參數解釋: * request: 請求對象 * template\_name: 模板名稱 * context: 模板上下文對象(dict) * content\_type: MIME類型,默認為text/html * status: HTTP狀態碼 * using: 模板引擎名稱(如: jinja2) ## **請求與響應** ![](https://git.kancloud.cn/repos/zjut_cheng/python_linux_mysql/raw/e70719d85a80a3c2ca1188fc18e6ec8bf227ae6a/images/screenshot_1628418550055.png?access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NjYxODc4NjcsImlhdCI6MTY2NjE0NDY2NywicmVwb3NpdG9yeSI6InpqdXRfY2hlbmdcL3B5dGhvbl9saW51eF9teXNxbCIsInVzZXIiOnsidXNlcm5hbWUiOiJ6anV0X2NoZW5nIiwibmFtZSI6InpqdXRfY2hlbmciLCJlbWFpbCI6InpqdXRfY2hlbmdAMTYzLmNvbSIsInRva2VuIjoiMGVlOTcyM2Y4MzdlMzhmYTQ2MGY1Y2Y2ZTNlMDkyM2MiLCJhdXRob3JpemUiOnsicHVsbCI6dHJ1ZSwicHVzaCI6dHJ1ZSwiYWRtaW4iOnRydWV9fX0.oozl9NCIrqIdzPxQUrv7gt8Gmz6rwFvqi7wiTgOM8WI) **請求對象 Httprequest** * 請求方式 method (POST/GET/...) * 請求頭信息 META/headers REMOTE\_ADDR----請求的IP地址 Http\_User\_Agent-----用戶請求終端信息 * 獲取請求傳遞參數 GET----GET請求參數 POST-----POST請求參數 COOKIES-----cookie信息 FILES-----文件信息 已連接 1個文件被修改 階段四:Django全棧項目開發實戰.md
                  <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>

                              哎呀哎呀视频在线观看