簡體   English   中英

Heroku和Django運行服務器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM