就靠這一篇文章,我就弄懂了 Python Django 的 django-admin 命令行工具集

      網友投稿 1291 2025-04-02

      橡皮擦,一個逗趣的互聯網高級網蟲。新的系列,讓我們一起進入 Django 世界。

      十五、django-admin 命令行工具

      15.1 django-admin 和 manage.py 簡介

      django-admin 是 Django 的命令行工具集,在之間的博客中已經有所設計了,manage.py 是創建 Django 項目自動生成的文件, 二者在使用的時候除了語法有差異,能做同樣的事情

      例如啟動網站,我們常用的 python manage.py runserver,用 django-admin 修改命令為:django-admim runserver 。

      如果你想一直使用 django-admin,那需要提前配置好 DJANGO_SETTINGS_MODULE 環境變量,這個提前配置就有一定的技術難度了,具體實現如下。

      首先找到 manage.py 文件,在里面找到環境變量設置為 cutegirl.settings,如下圖所示。

      復制該值,將其存放到電腦環境變量中。

      這樣去項目目錄運行我們的程序,會出現一個錯誤,異常如下:

      ModuleNotFoundError: No module named 'cutegirl'

      模塊異常,這時還要找到 Python 安裝目錄,然后在該目錄下尋找如下文件夾 Python37\Lib\site-packages,在該文件中創建 django-site.pth 文件,文件中寫入 cutegirl 項目目錄。實現如下:

      接下來準備工作完成,就可以運行 django-admin 命令了,得到下述內容表示運行成功,輸出內容也羅列在了下方,這些都是后續要學習的參考內容。

      cutegirl> django-admin Type 'django-admin help ' for help on a specific subcommand. Available subcommands: [auth] changepassword createsuperuser [contenttypes] remove_stale_contenttypes [django] check compilemessages createcachetable dbshell diffsettings dumpdata flush inspectdb loaddata makemessages makemigrations migrate sendtestemail shell showmigrations sqlflush sqlmigrate sqlsequencereset squashmigrations startapp startproject test testserver [sessions] clearsessions [staticfiles] collectstatic findstatic runserver

      準確的說以下三個命令都是相同的。

      django-admin runserver python manage.py runserver python -m django runserver

      都可以出現如下啟動詳情:

      Django version 3.1.7, using settings 'cutegirl.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK.

      15.2 必會的 help

      學習任何命令都要先學會使用幫助手冊,help 命令就是用于這個用于的。

      以下兩個命令出現內容一致,都是上文所示命令展示。

      django-admin django-admin help

      還可以使用 help 查詢指定命令幫助文檔。

      格式如下:

      django-admin help 命令名

      django-admin help --commands django-admin help runserver

      運行效果如下所示。

      15.3 檢查 check

      check 命令用來檢查整個 Django 項目是否存在錯誤。

      默認使用方式為:

      django-admin check

      輸出:

      System check identified no issues (0 silenced).

      如果希望授權檢查特定的應用,只需要修改命令如下所示即可。

      django-admin check auth scoring

      通過調用 --list-tags 可以查看全部可用的應用。

      django-admin check --list-tags

      基于上述命令的輸出,你可以嘗試下述寫法。

      django-admin check --tag urls

      15.4 dbshell

      使用 settings.py 文件中 ENGINE 設置中指定的數據庫引擎的命令行客戶端,默認的是喚起 Sqlite3 數據庫命令行客戶端。

      >django-admin dbshell CommandError: You appear not to have the 'sqlite3' program installed or on your path.

      但是運行過程中出現了如下 BUG,該內容是由于 Django 只集成 了 Sqlite3 的訪問接口,并沒有可執行文件,下載可執行文件 sqlite3.exe,然后放置到 C:\Windwos\System32 中即可。

      這里給大家找到了一個直接下載的鏈接,可以 點擊下載 即可。也可以自行打開官網尋找最新的 sqlite3.exe。

      再次運行之后,得到下圖所示內容:

      >django-admin dbshell SQLite version 3.7.14.1 2012-10-04 19:37:12 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite>

      15.5 dumpdata

      輸出指定應用,例如本例(scoring)中的指定模型的數據。

      > django-admin dumpdata scoring.score [{"model": "scoring.score", "pk": 1, "fields": {"customer": 1, "score": 50}}, {"model": "scoring.score", "pk": 2, "fields": {"customer": 2, "score": 30}}, {"model": "scoring.score", "pk": 3, "fields": {"customer": 2, "score": 0}}, {"model": "scoring.score", "pk": 4, "fields": { "customer": 2, "score": 0}}]

      增加一個 --indent=4 可以對結果進行格式化輸出。使用 --output 可以將數據保存到文件中。

      > django-admin dumpdata scoring.score --indent=4 [ { "model": "scoring.score", "pk": 1, "fields": { "customer": 1, "score": 50 } },

      15.6 遷移

      Django 通過遷移(migrate)命令將 Model 中的修改寫入到數據庫中,

      makemigrations

      根據模型變化生成遷移代碼,遷移代碼會存放在每個應用下的 migrations 文件夾,如下圖所示。

      如果模型沒有變化,會得到如下結果。

      > django-admin makemigrations scoring No changes detected in app 'scoring'

      這里可以擴展一下相關遷移的生成方式。

      # 生成一個空遷移 django-admin makemigrations scoring --empty # 固定名稱生成 django-admin makemigrations scoring --empty --name xiangpi

      migrate

      使數據庫狀態與當前模型遷移集同步,即把模型的最新狀態部署到數據庫。

      該命令的語法格式為:

      django-admin migrate [app_label] [migration_name]

      如果提供了 migration_name,系統會把數據庫回滾到指定版本。

      sqlmigrate

      該命令可以將某個 migrate 輸出為 SQL 語句。

      > django-admin sqlmigrate scoring 0001_initial

      showmigrations

      顯示項目中所有的遷移文件。

      15.7 其它零碎小命令

      version

      查看 Django 版本。

      cutegirl>django-admin version 3.1.7

      makemessages

      用于國際化和本地化時,生成 .po 文件。

      compilemessages

      編譯 .po 消息文件為 .mo 文件。

      上述兩個命令都用在國際化和本地化上面,未使用階段了解即可。

      createcachetable

      在 settings.py 中配置 CACHES 即可實現緩存表功能。

      diffsettings

      django-admin diffsettings

      顯示當前 settings.py 文件與 Django 的默認設置之間的差異。

      flush

      django-admin flush

      清空當前數據庫的數據。保留 migration 的變更不會被清除。只刪除數據,不刪除表結構。

      inspectdb

      通過已有數據庫表生成 models.py 文件。也可以將視圖創建為模型文件。

      loaddata

      將 fixture 文件加載到數據庫中。其中 fixture 是序列化好的文件,文件格式一般為 JSON 和 XML。

      startproject 和 startapp

      就靠這一篇文章,我就弄懂了 Python Django 的 django-admin 命令行工具集

      創建項目和創建 APP 應用。

      runserver

      啟用 Django 提供的輕量級的 Web 服務器,該服務器一般用于開發測試,在生產環境中不能使用。

      changepassword

      當使用了 Django 的認證系統之后,可以修改用戶密碼。

      createsuperuser

      建立超級用戶.

      clearsessions

      清除過期的會話。

      15.8 本篇博客小節

      本篇博客重點解釋了 Django 中的 django-admin 命令行,更多的內容可以去查詢 官方手冊

      本文為大家羅列了最常用的一部門。

      今天是持續寫作的第

      135

      / 200 天。

      博主 ID:夢想橡皮擦,希望大家

      評論

      Django Python

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:WPS演示制作課件教程:文字的美化
      下一篇:月計劃excel甘特圖(用甘特圖做月計劃)
      相關文章
      亚洲中文字幕久久精品无码喷水| 亚洲国产香蕉人人爽成AV片久久| 亚洲片一区二区三区| 亚洲日韩一区二区三区| 2017亚洲男人天堂一| 国产成人精品日本亚洲专| 亚洲精品中文字幕乱码影院| 亚洲国产精品国自产拍电影| 国产亚洲精品xxx| 亚洲国产成人久久综合一 | 久久精品国产亚洲AV未满十八| 亚洲性色AV日韩在线观看| 亚洲精品V天堂中文字幕| 亚洲国产欧美国产综合一区| 欧美亚洲精品一区二区| 九九精品国产亚洲AV日韩| 成人婷婷网色偷偷亚洲男人的天堂 | 亚洲欧洲日韩国产| 亚洲毛片在线免费观看| 亚洲国产成+人+综合| 亚洲中文字幕无码一去台湾 | 国内精品99亚洲免费高清| 亚洲性猛交XXXX| 亚洲乱码国产一区三区| 亚洲AV无码精品色午夜在线观看| 久久精品国产亚洲av麻豆| 亚洲美女视频一区二区三区| 亚洲成人免费网址| 中文字幕乱码亚洲精品一区 | 亚洲日韩AV一区二区三区四区| 亚洲狠狠婷婷综合久久| 欧洲亚洲综合一区二区三区| 久久亚洲精品无码播放| 国产亚洲精AA在线观看SEE| 亚洲韩国—中文字幕| 亚洲国产精品成人综合久久久| 日韩亚洲不卡在线视频中文字幕在线观看| 成人亚洲国产va天堂| 日韩精品亚洲专区在线观看| 中国亚洲女人69内射少妇| 亚洲v高清理论电影|