這兩天讓一個問題搞得很頭疼,就是使用south進行數據庫遷移的時候發現south在處理自定義用戶模型的時候會出bug(這個問題稍後的文章會講的),使用網上的辦法的時候老是發現數據庫根本寫不進數據去。今天才發現緣由,原來是我ssh到服務器上直接操做的,而服務器上的Django使用的是server_settings.py文件,這樣的話,咱們進行操做的時候就必須指定配置文件,好比python manage.py syncdb --settings=***.server_settings
可是我忘了這個,致使使用的是本地的配置文件寫入的是sqlite數據庫。。
爲了不這個問題,我就想到一個辦法就是讓Django本身去選擇配置文件。首先是在服務器上設置一個自定義的環境變量,一種是臨時的環境變量,shell關掉以後就沒了,python
$ export HELLO="Hello!" $ echo $HELLO Hello!
另外一種纔是永久的,就是編輯/ect/profile文件,而後在末尾追加sql
ENV=SERVER export ENV
而後在settings.py中這樣寫就行了:shell
import os env = os.environ.get("ENV", None) if env == "serrver": from .server_settings import * else: from .local_settings import *
這樣就行了數據庫