2016-01-17 25 views
1

我一直在研究Django網站的localhost副本一段時間,但最終決定是時候將它上傳到PythonAnywhere。該網站在我的本地主機上完美運行,但當我爲新網站進行初始遷移時,出現奇怪的錯誤。例如,我得到這個:Django站點初始數據庫遷移過程中的奇怪錯誤

mysql.connector.errors.DatabaseError: 1264: Out of range value for column 'applied' at row 1

「應用」是不是在我的模型現場,所以這個錯誤必須通過Django的供自己使用,使表生成。我剛剛檢查了我的本地主機的MySQL管理器,並且'應用'字段似乎來自表django_migrations。

爲什麼Django錯誤地處理自己設置的表格?我已經丟棄並重新創建了多次數據庫,但錯誤仍然存​​在。如果任何人有任何想法會導致什麼,我會非常感謝您的建議。

我的網站前端仍顯示Hello World頁面,而Admin鏈接出現頁面不存在錯誤。在這個階段,我將假設這與數據庫錯誤有關。

編輯:爲什麼我無法訪問該網站的前端附加信息:

原來,當我導入預建的網站變成PythonAnywhere,我不得不修改我的wsgi.py文件指向應用程序。現在的麻煩是我不知道該放什麼。當我遵循PythonAnywhere幫助文件中的標準說明時,似乎沒有任何變化。有網站似乎很詳細的錯誤信息,以幫助解決它。是否有辦法關閉他們的標準hello world佔位符頁面,並查看服務器錯誤消息?

+0

什麼是你正在使用的Django的版本? –

+0

我的本地主機是1.8,但我只記得我在網站上自動升級到1.9,所以我會嘗試將它重新調整爲1。8看看是否可以解決問題。 –

+0

我剛剛嘗試過,它似乎解決了數據庫問題,但我仍然無法訪問我的站點的前端。我想我將不得不進一步調查爲什麼會發生這種情況。 –

回答

1

正如我在上面的評論中所說,數據庫的問題是由於將Django從1.8升級到1.9而導致的。我已經忘記了這一點。在將我的網站回滾到Django 1.8後,數據庫遷移正確運行。

我無法訪問網站的原因竟然是因爲我不得不編輯wsgi.py文件,但我編輯了錯誤的版本。我使用的nginx localhost web服務器將它保存在與PythonAnyhwere實現不同的文件夾位置。我從我的本地主機副本上傳文件,並根據PythonAnywhere幫助系統上的說明進行編輯,但沒有意識到它沒有被PythonAnywhere的服務器讀取。我真正需要做的是通過控制面板上的網頁標籤訪問正確的文件。一旦我編輯了這個文件,網站前端開始按預期工作。

0

對於我來說,這個問題也發生在版本爲1.10的新項目上。我發現如果您使用recommended driverconnector in the documentation,遷移工作沒有問題。

如果你不喜歡閱讀的文檔,在breif:

  1. 爲Python 2.7的mysql安裝MySQLdb的Python的3.3+
  2. 修改你的settings.py文件。在數據庫字典中設置:

    'ENGINE': 'django.db.backends.mysql',