00.Python manage.py shell和 Python的分析
環境:Python 2.7.6 django1.8.6
IDE:Pycharm
編寫了一個模板,資料庫連線的是MySQl資料庫(具體配置參考http://blog.csdn.net/gamer_gyt/article/details/49976119)
可是pycharm中啟動服務的時候報錯如下:
................
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before
accessing settings.
Process finished with exit code 1
於是乎在網上一頓谷歌呀,基本說的都是加入settings的環境變數於是我在views.py裡邊做了如下修改,加了以下兩行程式碼
from django.conf import settings
settings.configure()
然後再次執行,顯示如下:
Process finished with exit code 0
可是在瀏覽器中卻並不能訪問
刪除這兩行程式碼,在命令列中執行 Python manage.py runserver OK了
對於其中的原理不是很明白,於是又一頓谷歌呀
最終的發現是(以下為原文引用):
' ' '
啟動python有兩種方式:python manage.py shell和python。
這兩個命令 都會啟動互動直譯器,但是manage.py shell命令有一個重要的不同: 在啟動直譯器之前,它告訴Django使用 哪個設定檔案。 Django框架的大部分子系統,包括模板系統,都依賴於配置檔案;如果Django不知道使用哪 個配置檔案,這些系統將不能工作。
如果你想知道,這裡將向你解釋它背後是如何工作的。 Django搜尋DJANGO_SETTINGS_MODULE環境變 量,它被設定在settings.py中。例如,假設mysite在你的Python搜尋路徑中,那麼 DJANGO_SETTINGS_MODULE應該被設定為:’mysite.settings’。
當你執行命令:python manage.py shell,它將自動幫你處理DJANGO_SETTINGS_MODULE。 在當前的這 些示例中,我們鼓勵你使用`` python manage.py shell``這個方法,這樣可以免去你大費周章地去配置那些你 不熟悉的環境變數。
隨著你越來越熟悉Django,你可能會偏向於廢棄使用`` manage.py shell`` ,而是在你的配置文 件.bash_profile中手動新增 DJANGO_SETTINGS_MODULE這個環境變數。
所以,另兩種解決方案就是:
1.使用 python manage.py shell啟動Python
2.在你的配置文 件.bash_profile中手動新增 DJANGO_SETTINGS_MODULE這個環境變數。
' ' '
看到這裡你是不是明白了些什麼......
相關文章
- mac中python manage.py migrate執行報錯MacPython
- python和shell像嗎Python
- shell 的一些實用 demo 和 技巧分析
- 使用Python和Java呼叫Shell指令碼時的死鎖陷阱PythonJava指令碼
- python strftime和strptime的不同分析Python
- Spring4Shell的漏洞原理分析Spring
- shell 和程式
- 如何呼叫python中的shell指令碼?Python指令碼
- python 呼叫 shell ,獲取返回值和返回資訊Python
- Shell程式設計-11-子Shell和Shell巢狀程式設計巢狀
- Shell排序複雜度分析排序複雜度
- Shell中的${}、##和%%使用範例
- 終端和shell的區別
- Python和Java哪個好?分析!PythonJava
- [譯] 基於 Python 的圖論和網路分析Python圖論
- Fish Shell 的使用特性和優勢
- Shell編寫,1到100的和。
- Python爬蟲教程-33-scrapy shell 的使用Python爬蟲
- 或許你知道Python的shell,那jshell呢?PythonJS
- Python函式用法和底層分析Python函式
- CMD和power shell命令
- Linux中vim和shellLinux
- grpc python 原始碼分析(1):server 的建立和啟動RPCPython原始碼Server
- Shell中函式的定義和使用函式
- 使用互動式 shell 來增強你的 PythonPython
- 常用adb 和 adb shell 命令
- shell中 << EOF 和 EOF 使用
- 認識終端和shell
- python中shell執行知識點Python
- shell在手分析伺服器日誌不愁?伺服器
- MySQL5.7/8.0效能分析shell指令碼MySql指令碼
- Python字典的特性分析Python
- shell的引數和指令碼流程改進指令碼
- 【Python】pyenv的版本控制及global、shell、local命令區別Python
- Python踩坑之旅其一殺不死的Shell子程式Python
- 關於sqlmap中--os-shell如何getshell的原始碼分析SQL原始碼
- Bash 和 Python 程式語言優缺點分析Python
- shell中的source和直接執行sh的區別
- python裡執行shell命令或cmd命令Python