HerokuにDjangoアプリをデプロイする

https://devcenter.heroku.com/articles/getting-started-with-python

  1. herokuにアカウントを作る。
  2. Heroku CLIをインストール
  3. runtime.txtrequirements.txtというファイルが必要らしい。

    $pip freeze > requirements.txt

    で作れる。

    $ heroku create

    上記コマンドを実行すると、

    :
    remote: ! Error while running ‘$ python manage.py collectstatic –noinput’.
    remote: See traceback above for details.
    remote:
    remote: You may need to update application code to resolve this error.
    remote: Or, you can disable collectstatic for this application:
    remote:
    remote: $ heroku config:set DISABLE_COLLECTSTATIC=1
    remote:
    remote: https://devcenter.heroku.com/articles/django-assets
    remote: ! Push rejected, failed to compile Python app.
    remote:
    remote: ! Push failed
    remote: Verifying deploy…
    remote:
    remote: ! Push rejected to caffca.
    remote:

    DisallowedHost at /
    Invalid HTTP_HOST header: ‘caffca.herokuapp.com’. You may need to add ‘caffca.herokuapp.com’ to ALLOWED_HOSTS.

DjangoでListViewを使う

from django.views import generic

class ArticlesView(generic.ListView):
    model = Article

上記のように定義すると

{% for article in object_list %}
{% endfor %}

テンプレート側では「object_list」という名前で渡される。

{% for article in article_list %}
{% endfor %}

model名がarticleだからなのか「article_list」という名前でも値が取れる。