<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          推薦 2 款必備的 Django 開發(fā)神器

          共 4504字,需瀏覽 10分鐘

           ·

          2021-07-29 02:19





          1. 前言

          使用 Django 進(jìn)行 Web 開發(fā)的時候,為了提高開發(fā)效率,少不了安裝一些第三方應(yīng)用 App

          本篇文章將推薦 2 款非常好用的應(yīng)用 App

          • django_extensions

          • debug_toolbar

          2. django_extensions

          django_extensions,是一個為 Django 項目收集全局自定義管理擴(kuò)展的存儲庫

          首先,在目標(biāo)虛擬環(huán)境下安裝依賴

          # 安裝依賴
          pip3 install django-extensions

          然后,在項目的配置文件 settings.py 中添加 App

          # settings.py

          # 調(diào)試模式
          DEBUG = True

          # 新增App:django_extensions
          INSTALLED_APPS =(
              ...
              'django_extensions'
              ...

          接下來就可以使用它進(jìn)行項目調(diào)試了

          常見的功能如下:

          2-1  增強(qiáng)版 Shell

          我們都知道,原始項目都是使用「 ./manage.py  shell 」命令進(jìn)入到調(diào)試模式,涉及到模型 Model 操作都需要手動導(dǎo)入

          然而,添加 django_extensions 應(yīng)用后,直接使用「 ./manage.py  shell_plus 」命令就可以進(jìn)入到增強(qiáng)版的 Shell,自動導(dǎo)入項目下所有模型,非常方便我們調(diào)試

          2-2  檢查模板錯誤

          使用「 ./manage.py validate_templates 」命令可以檢測模板中的錯誤

          # 檢查模板錯誤
          (django) localhost:xh_tools xingag$ ./manage.py validate_templates
          0 errors found

          2-3 查看路由列表

          使用「 ./manage.py show_urls 」命令可以查看項目所有的路由及視圖函數(shù)對應(yīng)關(guān)系表

          更多功能可以參考:

          https://github.com/django-extensions/django-extensions

          3. django_toolbar

          django_toolbar,是一款 Django 開發(fā)利器,在 Debug 模式下,能實時展示項目的整體信息、請求響應(yīng)、SQL、緩存等內(nèi)容

          首先,在虛擬環(huán)境下安裝依賴包

          # 安裝依賴包
          pip3 install django-debug-toolbar

          然后,在項目配置文件 settings.py 中,對 django_toolbar 進(jìn)行配置

          3-1  添加應(yīng)用

          # settings.py

          # 調(diào)試模式
          DEBUG = True

          # 新增App:django_extensions
          INSTALLED_APPS =(
              ...
              'debug_toolbar'
              ...

          3-2  啟用 django_toolbar 中間件

          在 MIDDLEWARE 列表中,盡早的啟動 django_toolbar 中間件

          注意:中間件的位置很重要,djano_toolbar 中間件必須位于對響應(yīng)內(nèi)容進(jìn)行編碼的任何其他中間件之后

          # settings.py

          MIDDLEWARE = [
              'debug_toolbar.middleware.DebugToolbarMiddleware',
              'django.middleware.security.SecurityMiddleware',
              'django.contrib.sessions.middleware.SessionMiddleware',
              'django.middleware.locale.LocaleMiddleware',
              'django.middleware.common.CommonMiddleware',
              'django.middleware.csrf.CsrfViewMiddleware',
              'django.contrib.auth.middleware.AuthenticationMiddleware',
              'django.contrib.messages.middleware.MessageMiddleware',
              'django.middleware.clickjacking.XFrameOptionsMiddleware',
          ]

          參考:

          https://docs.djangoproject.com/en/dev/ref/middleware/#django.middleware.gzip.GZipMiddleware

          3-3  配置內(nèi)部 IP

          必須要在配置文件 settings.py 設(shè)置 INTERNAL_IPS 的值為本地 IP,才會在網(wǎng)頁上展示調(diào)試工具欄

          # settings.py

          INTERNAL_IPS = [
              '127.0.0.1',
              'localhost'
          ]

          3-4  配置顯示內(nèi)容( 可選 )

          默認(rèn)工具欄展示所有內(nèi)容,也可以定義 DEBUG_TOOLBAR_PANELS 列表的值,指定顯示部分內(nèi)容

          比如:僅配置加載時間、請求頭和響應(yīng)頭、請求信息、SQL 語句、緩存、日志信息

          # settings.py

          DEBUG_TOOLBAR_PANELS = [
              'debug_toolbar.panels.timer.TimerPanel',
              'debug_toolbar.panels.headers.HeadersPanel',
              'debug_toolbar.panels.request.RequestPanel',
              'debug_toolbar.panels.sql.SQLPanel',
              'debug_toolbar.panels.cache.CachePanel',
              'debug_toolbar.panels.logging.LoggingPanel',
          ]

          最后,在項目下的 urls.py 文件內(nèi)配置調(diào)試工具欄的 URL

          # 項目下的urls.py

          # 配置調(diào)試工具欄的URL
          urlpatterns = [
              path('', include('index.urls')),
              path('admin/', admin.site.urls),

              # 設(shè)置項目上線的靜態(tài)資源路徑
              url('^static/(?P<path>.*)$', static.serve,
                  {'document_root': settings.STATIC_ROOT}, name='static')
          ]

          # 如果是調(diào)式狀態(tài)
          if settings.DEBUG:
              import debug_toolbar

              urlpatterns = [
                                path('__debug__/', include(debug_toolbar.urls)),
                            ] + urlpatterns

          以調(diào)試模式運(yùn)行項目后,就可以在網(wǎng)頁上看到工具欄的實時信息了

          更多功能可以參考:

          https://github.com/jazzband/django-debug-toolbar

          4. 最后

          文中推薦了兩款非常實用的 Django 開發(fā)輔助應(yīng)用,它可以幫助我們對項目進(jìn)行調(diào)試,快速定位問題。

          往期推薦

          1、100個Python小技巧!!

          2我去!爬蟲遇到字體反爬,哭了

          3、七個Python必備的GUI庫,這次一定要學(xué)會!

          4、Python 里最強(qiáng)的Web框架,早就不是Django和Flask了

          5、程序員的內(nèi)卷,一行注釋就能生成代碼!GitHub原生AI代碼生成工具Copilot上線


          今天因為您的點(diǎn)贊和在看,讓我元?dú)鉂M滿!

          瀏覽 44
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲第一不卡 | 99热色在线精品 | 青青草公开无码 | 粉嫩99精品99久久久久久桃色 | 无码秘 人妻一区二区三-百度 |