Django學習筆記1 1

2022-09-16 01:24:13 字數 1796 閱讀 4113

django-admin.py startproject project_name

特別是在 windows 上,如果報錯,嘗試用 django-admin 代替 django-admin.py 試試

注意 project_name 是自己的專案名稱,需要為合法的 python 包名,如不能為 1a 或 a-b。

要先進入專案目錄下,cd project_name 然後執行下面的命令(下同,已經在專案目錄下則不需要 cd project_name)

django 1.7.1及以上 用以下命令

# 1. 建立更改的檔案

python manage.py makemigrations

# 2. 將生成的py檔案應用到資料庫

python manage.py migrate

舊版本的django 1.6及以下用

python manage.py syncdb

備註:對已有的 models 進行修改,django 1.7之前的版本的django都是無法自動更改表結構的,不過有第三方工具 south,詳見 django 資料庫遷移 一節。這種方法可以在sql等資料庫中建立與models.py**對應的表,不需要自己手動執行sql。

開發伺服器,即開發時使用,一般修改**後會自動重啟,方便除錯和開發,但是由於效能問題,建議只用來測試,不要用在生產環境。

python manage.py runserver

# 當提示埠被占用的時候,可以用其它埠:

python manage.py runserver 8001

python manage.py runserver 9999

(當然也可以kill掉占用埠的程序,具體後面有講,此處想知道的同學可查下 lsof 命令用法)

# 監聽機器所有可用 ip (電腦可能有多個內網ip或多個外網ip)

python manage.py runserver 0.0.0.0:8000

# 如果是外網或者區域網電腦上可以用其它電腦檢視開發伺服器

# 訪問對應的 ip加埠,比如

python manage.py flush

此命令會詢問是 yes 還是 no, 選擇 yes 會把資料全部清空掉,只留下空表。

python manage.py createsuperuser

# 按照提示輸入使用者名稱和對應的密碼就好了郵箱可以留空,使用者名稱和密碼必填

# 修改 使用者密碼可以用:

python manage.py changepassword username

關於資料操作 詳見:資料匯入

資料遷移,現在了解有這個用法就可以了。

python manage.py shell

這個命令和 直接執行 python 或 bpython 進入 shell 的區別是:你可以在這個 shell 裡面呼叫當前專案的 models.py 中的 api,對於運算元據,還有一些小測試非常方便。如果你安裝了 bpython 或 ipython 會自動用它們的介面,推薦安裝 bpython。

python manage.py dbshell

在這個終端可以執行資料庫的sql語句。如果您對sql比較熟悉,可能喜歡這種方式。django 會自動進入在settings.py中設定的資料庫,如果是 mysql 或 postgresql,會要求輸入資料庫使用者密碼。

終端上輸入 python manage.py 可以看到詳細的列表,在忘記子名稱的時候特別有用。

django 學習筆記 11 部署Django

如果 debug 模式被開啟.例如,如果 debug 被設定成 true 那麼 首先,改變你的admins 設定用來引入你的e mail 位址,以及那些任何需要被注意的聯絡人的e mail 位址。這個設定採用了類似於 姓 名,email 元組,像這樣 admins john lennon jlenn...

web後端 Django學習筆記11

使用中介軟體完成乙個隨機 的場景,每次發出請求後,產生乙個1 100的隨機數,如果隨機數的值大於90,則跳轉到中獎頁面,顯示 恭喜,您中獎了 否則返回給 客戶端乙個文字 抱歉,本次未中獎 1.1 演示 request.prize number number 動態新增乙個屬性2 views from ...

django學習11 靜態檔案

static dir os.path.join base dir,static 需要注意的是static是你在根目錄下建立的檔案,還有就是逗號不可以省略。我配置的時候遇到了問題,搞了四五個小時,問題出在了這 我用了static root os.path.join base dir,static 我兩...