Continuant de la dernière fois, un mémo pour créer une application python avec heroku Cette fois, je vais me concentrer sur les erreurs qui ont été détectées dans le développement.
Source de référence: https://gist.github.com/konitter/5370904 http://voluntas.hatenablog.com/entry/20110919/1316426034 http://qiita.com/nakazye/items/48651e39f07da82fe79e
le corps d'heroku est
$ sudo gem install heroku
Vous pouvez l'installer avec, mais une erreur se produit immédiatement ...
Operation not permitted - /usr/bin/…/
Il semble que le dossier d'installation n'a pas d'autorisation, il est résolu en changeant le dossier d'installation
$ sudo gem install -n /usr/local/bin heroku
(Source de référence: http://qiita.com/AcaiBowl/items/4bb4708de03e6ee14a4a)
virtualenv
Créer un dossier pour le développement
$ mkdir heroku-django
$ cd heroku-django
Dans le dossier créé, développez virtualenv. Il est recommandé de développer avec virtualenv dans heroku! !! (Pour minimiser les bibliothèques requises)
$ virtualenv --no-site-packages .
$ source bin/activate
$ pip install django
$ env ARCHFLAGS="-arch i386 -arch x86_64" bin/pip install psycopg2
$ pip install gunicorn
Enregistrez la bibliothèque installée dans requirements.txt dans le répertoire heroku_django
$ pip freeze > requirements.txt
Créer Procfile sur le répertoire heroku_django (requis pour utiliser gunicorn sur heroku) J'ai trébuché parce que ça ne bougeait pas facilement
Procfile
web: gunicorn --pythonpath './mysite' mysite.wsgi --log-file -
Ce n'est pas grave avec une ligne. Le but est de spécifier le chemin python
De là, c'est la même chose que le développement normal de djnago http://eiry.bitbucket.org/ Il est résumé de manière simple à comprendre.
Créez un fichier .gitignore dans le répertoire heroku_django (Parce que vous ne poussez pas les fichiers inutiles)
.gitignore
bin/
include/
lib/
*.pyc
Lors du déploiement
$ git push heroku master
Erreur est survenue
Error while running '$ python mysite/manage.py collectstatic --noinput'.
Erreur selon laquelle le dossier statique ne peut pas être créé sur heroku, résolu en ajoutant les 3 lignes suivantes à setting.py
#### **`setting.py`**
```python
PROJECT_DIR = os.path.dirname(__file__)
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
Commande pour créer un dossier statique juste en dessous du dossier du répertoire
Avant de déployer
$ python manage.py runserver
Ou
$ foreman start
Vérifions si l'application fonctionne avec.
bootstrap Précautions lors de l'utilisation de bootstrap Erreur qui s'affiche bien sur runserver mais ne peut pas lire correctement le css au démarrage du contremaître http://stackoverflow.com/questions/16170030/django-serves-static-files-with-runserver-but-not-with-foreman Est-ce précis.
$ pip install whitenoise
Est nécessaire.
Recommended Posts