[PYTHON] Créez une application de tableau d'affichage à partir de zéro avec Django. (Partie 2)

Partie 1 https://qiita.com/TuruMaru/items/4df41577fb9f722c7864

Créer une base de données

Je vais créer une base de données, mais pour ce faire, je dois d'abord écrire le contenu de la table dans models.py.

posts/models.py



from django.db import models
#Importer pour utiliser le fuseau horaire
from django.utils import timezone

# Create your models here.

#models.C'est une règle d'écrire un modèle
class Posts(models.Model):

    #Le méta et l'objet ne sont pas magiques
    class Meta(object):
        #Spécifiez le nom de la table à créer
        db_table = 'posts'

    #Nom de colonne=Format de données(Le nom affiché sur l'écran de gestion,Autres contraintes)
    text = models.CharField(verbose_name='Texte', max_length=255)
    created_at = models.DateField(verbose_name='Date de création', default=timezone.now)

    #Définir pour être affiché sur l'écran de gestion(la magie)
    def __str__(self):
        return self.text, self.created_at

Vous êtes maintenant prêt à créer une table appelée posts. Sur cette base, nous opérerons dans le terminal.

$ python manage.py makemigrations posts
Migrations for 'posts':
  posts/migrations/0001_initial.py
    - Create model Posts

Vous avez maintenant créé le fichier 0001_initial.py. Ce fichier contient le contenu de la base de données à créer. Cependant, cette commande n'a pas encore créé de base de données. Je suis prêt.

$ python manage.py sqlmigrate posts 0001
BEGIN;
--
-- Create model Posts
--
CREATE TABLE "posts" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "text" varchar(255) NOT NULL, "created_at" date NOT NULL);
COMMIT;

Vous pouvez voir le code SQL lorsque la table est créée avec cette commande.

$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, posts, sessions
Running migrations:
  Applying posts.0001_initial... OK

Oui, c'est fait. Merci beaucoup.

Une petite opération est nécessaire pour vérifier sur l'écran de gestion, mais je vais l'omettre ici.

Traverser

Si vous ne passez pas le chemin, le code que vous avez écrit ne sera pas affiché dans le navigateur. Il existe également d'autres paramètres, alors faisons-le d'abord.

mysite/setting.py


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #Partie supplémentaire d'ici
    'posts',
    'templates',
]

Après avoir créé l'application, ajoutez-la à ʻINSTALLED_APPS`.

settings.py


TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        #↓ Ajoutez une ligne ici
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

Dites à python que vous avez créé le répertoire des modèles.

Aussi, j'écrirai un peu views.py et html pour vérifier l'opération.

posts/views.py


from django.shortcuts import render

# Create your views here.
from django.views.generic import View


class IndexView(View):
    def get(self,request, *args, **kwargs):
        return render(request, 'posts/post.html')


index = IndexView.as_view()

templates/base.html


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>{% block page_title %}{% endblock %}</title>
</head>
<body>
<hr>
<h1>{% block title %}{% endblock %}</h1>
<hr>
{% block content%}{% endblock %}
<hr>
</body>
</html>

templates/posts/post.html


{% extends "base.html" %}
{% block page_title %}post{% endblock %}
{% block title %}post{% endblock %}
{% block content %}
    <h1>Posts</h1>
{% endblock %}

Habituellement, base.html est utilisé comme base de toutes les pages, et post.html et d'autres remplissent le contenu. Ensuite, j'écrirai enfin ʻurls.py`.

mysite/urls.py


from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('posts.urls')),
]

posts/urls.py


from django.urls import path
from . import views

app_name = 'posts'
urlpatterns = [
    path('', views.index, name='index'),
]

Si vous passez un appel comme celui-ci, démarrez un serveur local et vérifiez-le.

$python manage.py runserver 3000

Tapez ensuite «localhost: 3000» sur Google ou quelque chose comme ça.

スクリーンショット 2019-11-04 21.39.07.png

Si ça se passe comme ça, la relation de passe est terminée. Écrivons le code de l'application babillard de la suivante.

Recommended Posts

Créez une application de tableau d'affichage à partir de zéro avec Django. (Partie 2)
Créez une application de tableau d'affichage à partir de zéro avec Django. (Partie 3)
Django à partir de zéro (partie: 2)
Django à partir de zéro (partie: 1)
Créer une application Web avec Django
Créer une application Todo avec Django ① Créer un environnement avec Docker
Comment développer une application de panier avec Django
Créez une interface utilisateur de jeu à partir de zéro avec pygame2!
[Python] Créer un environnement de développement Django avec Docker
Créez un environnement Django avec Vagrant en 5 minutes
Créer un babillard avec Heroku, Flask, SQL Alchemy
Créer un environnement de développement Django à l'aide de Doker Toolbox
Créez rapidement un environnement Python Django avec IntelliJ
Faisons une application qui affaiblit les nerfs avec Vue.js et Django-Rest-Framework [Partie 1] ~ Django setup ~
Django memo n ° 1 à partir de zéro
Créer une application Todo avec Django REST Framework + Angular
Essayez de créer une application Todo avec le framework Django REST
Étapes de l'installation de Python 3 à la création d'une application Django
Créer une application Todo avec Django ③ Créer une page de liste de tâches
Déployer l'application Django créée avec PTVS sur Azure
Créer une application Todo avec Django ⑤ Créer une fonction d'édition de tâches
Créez un environnement de développement avec Poetry Django Docker Pycharm
Construire un environnement Django pour Win10 (avec espace virtuel)
Créez un environnement d'apprentissage automatique à partir de zéro avec Winsows 10
Essayez de créer un réseau de neurones / d'apprentissage en profondeur avec scratch
Créez un environnement de développement Django avec Docker! (Docker-compose / Django / postgreSQL / nginx)
[Memo] Construire un environnement de développement pour Django + Nuxt.js avec Docker
Créer une page d'accueil avec django
[Django] Créez rapidement un environnement de développement de conteneur Django (Docker) avec PyCharm
Déployer Django + React à partir de zéro vers GKE (3) Créer un projet GCP
# 3 Créez un environnement Python (Django) avec une instance EC2 (ubuntu18.04) d'AWS part2
Pratique de développement d'applications Web: Créez une page de création d'équipe avec Django! (Page de création de décalage)
Créez une application de scraping avec Python + Django + AWS et modifiez les tâches
[DynamoDB] [Docker] Créer un environnement de développement pour DynamoDB et Django avec docker-compose
Développement piloté par les tests avec Django Partie 4
Jouez avec une tortue avec des graphiques de tortue (partie 1)
Développement piloté par les tests avec Django Partie 6
Déployer l'application Django avec Docker
Développement piloté par les tests avec Django Partie 2
Implémenter l'application Django sur Hy
Application installée à partir de Windows10 32 bits zéro
Créer un filtre avec un modèle django
Développement piloté par les tests avec Django Partie 1
Création d'un babillard avec flask
Développement piloté par les tests avec Django Partie 5
Créer un téléchargeur de fichiers avec Django
Lancer GQL avec un identifiant numérique depuis l'écran de gestion AppEngine
Pratique de développement d'applications Web: Créez une page de création d'équipe avec Django! (Introduction)
J'ai essayé d'envoyer un e-mail de fin d'inscription depuis Gmail avec django.
Créer une application Todo avec Django ④ Implémenter la fonction de création de dossier et de tâche
Créez un environnement d'apprentissage pour le «Deep learning from scratch» avec Cloud9 (jupyter miniconda python3)
J'ai fait une webAPI! Construire un environnement à partir de Django Rest Framework 1 avec EC2
Procédure de création d'un environnement Django avec Win10 WSL Ubuntu18.04 + Anaconda + Apache2
Lecteur RSS simple réalisé avec Django
Créez facilement un environnement de développement avec Laragon
Jouez comme une application Web avec ipywidgets
Créer un environnement Tensorflow avec Raspberry Pi [2020]