Enregistrez comme rappel lors de l'exécution de l'application Django sur Heroku. Dans la partie 2, vous pouvez utiliser la page de gestion de l'application Django pour créer et exploiter des modèles.
Dernière fois Deploy Django app to Heroku [Part 1]
J'en ai fait assez pour afficher la page d'accueil (page It Work) de l'application Django dans Heroku.
** Mon environnement **
macOS Sierra 10.12.5 Python 3.6.1 virtualenv 15.1.0
Constitution
myProject
├── Procfile
├── blog
│ ├── __init__.py
│ ├── __pycache__
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── db.sqlite3
├── manage.py
├── myDjango
│ ├── __init__.py
│ ├── __pycache__
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── requirements.txt
└── runtime.txt
Cette fois, nous allons créer un blog d'application qui ajoute le titre, le contenu et la date.
** Créez une application de blog **
$ python manage.py startapp blog
** Activez l'application de blog **
Blog ajouté à ʻINSTALLEF_APPS dans
myDjango / settings.py`
myDjango/settings.py
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]
** Créez un modèle à utiliser dans l'application de blog **
Ajoutez ce qui suit à blog / models.py
blog/models.py
class Contents(models.Model):
objects = None
title = models.CharField(max_length=20)
word_text = models.CharField(max_length=140)
date_time = models.DateTimeField('Date de publication')
** Créer un fichier de migration **
$ python manage.py makemigrations blog
Migrations for 'blog':
blog/migrations/0001_initial.py
- Create model Contents
** Migrer **
$ python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, blog, contenttypes, sessions
Running migrations:
Applying blog.0001_initial... OK
Réécrivez blog / admin.py
comme suit.
blog/admin.py
from django.contrib import admin
from .models import Contents
class ContentsAdmin(admin.ModelAdmin):
list_display = ('id', 'title', 'word_text', 'date_time')
admin.site.register(Contents, ContentsAdmin)
$ python manage.py createsuperuser
Username (leave blank to use 'Si vous n'entrez rien, cette partie sera le nom d'utilisateur'): <Nom d'utilisateur lors de la connexion>
Email address: <adresse mail>
Password: <mot de passe>
Password (again): <Retaper le mot de passe>
Superuser created successfully.
** Démarrer le serveur **
$ python manage.py runserver
Accédez à http://127.0.0.1:8000/admin
Si vous entrez le nom d'utilisateur et le mot de passe et que l'écran ci-dessous apparaît, cela réussit localement.
$ git add .
$ git commit -m "J'ai créé une application de blog"
$ git push heroku master
Les fichiers de migration ne sont pas créés sur Heroku (géré par git). Cependant, comme la base de données gérée par Heroku est postgres, une migration sur Heroku (application du contenu du modèle à la base de données) est requise.
$ heroku run python manage.py migrate
Comme l'administrateur créé localement est enregistré dans la base de données locale (SQLite3), il est nécessaire de créer un administrateur sur Heroku.
$ heroku run python manage.py createsuperuser
** Ouvrez l'application sur Heroku **
$ heroku open
** Afficher la page de gestion **
Ouvrez en ajoutant / admin
à l'URL de la page ouverte
Exemple) https: // nom herokuapp.herokuapp.com / admin
Ensuite, la Page de connexion confirmée précédemment apparaîtra, alors connectez-vous.
** Afficher la page de gestion du modèle de contenu de l'application Blog ** Cliquez sur Administration du site-> BLOG-> Contenu-> Ajouter.
** Ajouter du contenu ** Les champs seront affichés comme définis dans [Contents class](#Create new model), alors entrez-les correctement et cliquez sur "Enregistrer".
** Vérifiez sur l'écran de gestion des modèles ** OK si le contenu que vous avez ajouté précédemment est affiché
Django utilise SQLite par défaut et est facile à utiliser. Cependant, comme Heroku ne peut fondamentalement pas gérer SQLite et que postgreSQL est la norme, Partie 1 Est configuré pour gérer PostgreSQL sur Heroku.
Pour accéder à la base de données sur Heroku, exécutez la commande suivante.
$ heroku pg:psql
Si vous pouvez y accéder, ʻApp name :: DATABASE => sera affiché, alors entrez
\ z. Note) Affichez la liste des tableaux dans
\ z`: postgres
dry-brook-87010::DATABASE=> \z
Access privileges
Schema | Name | Type | Access privileges | Column privileges | Policies
--------+-----------------------------------+----------+-------------------+-------------------+----------
public | auth_group | table | | |
public | auth_group_id_seq | sequence | | |
public | auth_group_permissions | table | | |
public | auth_group_permissions_id_seq | sequence | | |
public | auth_permission | table | | |
public | auth_permission_id_seq | sequence | | |
public | auth_user | table | | |
public | auth_user_groups | table | | |
public | auth_user_groups_id_seq | sequence | | |
public | auth_user_id_seq | sequence | | |
public | auth_user_user_permissions | table | | |
public | auth_user_user_permissions_id_seq | sequence | | |
public | blog_contents | table | | |
public | blog_contents_id_seq | sequence | | |
public | django_admin_log | table | | |
public | django_admin_log_id_seq | sequence | | |
public | django_content_type | table | | |
public | django_content_type_id_seq | sequence | | |
public | django_migrations | table | | |
public | django_migrations_id_seq | sequence | | |
public | django_session | table | | |
(21 rows)
Vous pouvez utiliser la base de données en entrant réellement une instruction SQL.
dry-brook-87010::DATABASE=> select * from blog_contents;
id | title | word_text | date_time
----+------------+------------------------+------------------------
1 |Bonjour|C'était une belle journée aujourd'hui.| 2017-07-15 19:28:33+00
(1 row)
Cette fois, j'ai rendu disponible la page de gestion, créé une nouvelle application et son modèle, et même géré la base de données sur Heroku. La prochaine fois, je créerai un modèle et même publierai le blog que j'ai fait cette fois à l'extérieur. (des plans)
Introduction à Python Comment utiliser Django (Partie 11) Utilisez le modèle.
Recommended Posts