![](/img/trans.png)
[英]Why is my django development server running locally so much faster then running the same development server on Heroku?
[英]Heroku and Django Running Server
我正在關注本教程: http : //tutorial.djangogirls.org/en/domain/README.html
當我做python manage.py runserver
它工作正常。 我跑步時也可以
heroku ps:scale web=1
然后
heroku open
使用python manage.py runserver
可以顯示我的博客文章以及我添加的所有內容。 但是,當我在heroku open
運行服務器時,沒有發布,好像數據庫丟失了一樣。
這是為什么? 為什么這兩個命令啟動同一個網頁,但帖子/數據庫不同?
這使我想到了后續問題:如何知道何時需要再次為服務器運行遷移或進行遷移? 這樣可以解決問題嗎? 這些命令究竟是做什么的/為什么有必要?
謝謝
編輯:
獎勵問題:為什么我的帖子按時間降序顯示? 新帖子位於頁面底部,而不是頂部。 我該如何更改?
您的本地開發和部署的項目之間存在差異。 我認為您是在本地創建帖子的。 因此它們被本地保存到您的數據庫中。 在本地,您使用設置'django.db.backends.sqlite3'
中定義的基於文件的數據庫,這意味着當您運行manage.py syncdb
,將在其中創建所有表的文件。 當您將代碼部署到heroku時,代碼被推送到服務器並從此位置運行。 它可以隨處可見,因此無法連接到本地數據庫文件。 對於您的項目,您還必須在heroku上建立一個數據庫。 我建議閱讀這篇文章 。 當您要傳輸數據時,可以在本地創建數據庫轉儲並將所有數據加載到您的heroku數據庫中。 在這里和這里描述。
還有一點,您不會在heroku open
或通過fire python manage.py runserver
運行服務器。 當您的git push heroku master
完成后,heroku服務器將自動啟動。 它使用Procfile
的配置。
當您要遷移heroku數據庫時,必須運行heroku run python manage.py migrate <app_name>
migration heroku run python manage.py migrate <app_name>
不是在heroku服務器上遠程完成遷移。 每次更改模型並使用python manage.py makemigration <app_name>
添加遷移文件時,都必須運行此命令。 執行此操作時,必須將數據庫本地和遠程遷移。 這意味着您更改數據庫結構以匹配您的模型。 請記住,模型只是數據庫的抽象(orm)。
我不知道您的項目,但訂單合法。 嘗試將其想象為行。 第一排在前。 因此,最后輸入的行在底部。 您可以使用.order_by('-id')
類的方法更改查詢集的順序。 因此,您將獲得相反順序的所有條目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.