[PYTHON] Créez une application de gestion de score shogi à l'aide de Django 3 ~ Paramètres du site de gestion par défaut de Django ~

introduction

Ceci est ** 3rd **, un mémorandum de création d'une application de gestion de score shogi à l'aide de Django.

Environnement de travail

L'environnement de travail cette fois-ci est le suivant

De plus, la structure de répertoires de Django ressemble à ceci:

- kifu_app_project/
    - kifu_app_project/
        - __init__.py
        - setting.py
        - urls.py
        - wsgi.py
    - kifu_app/
        - migrations/
        - __init__.py
        - admin.py
        - apps.py
        - models.py
        - tests.py
        - views.py
    - manage.py
    - .gitignore

Contenu de cet article

Paramètres du site d'administration par défaut de Django

Django est livré en standard avec un site de gestion pour afficher et gérer les données de base de données. Cette fois, nous effectuerons les réglages pour utiliser ce site de gestion.

Modifier admin.py

Modifiez admin.py dans kifu_app.

admin.py


from django.contrib import admin

# Register your models here.

#Ajouté ci-dessous

from .models import LargeClass, MiddleClass, SmallClass, Information, Kifu

admin.site.register(LargeClass)
admin.site.register(MiddleClass)
admin.site.register(SmallClass)
admin.site.register(Information)
admin.site.register(Kifu)

Importez toutes les classes créées la dernière fois dans models.py. Ensuite, passez toutes les classes importées à l'argument de ʻadmin.site.register () `.

Créer un utilisateur pour la connexion

Ensuite, passez au point où vous pouvez voir manege.py et tapez la commande suivante.

$ python manage.py createsuperuser
Username: <Nom d'utilisateur>
Email address: <Email>
Password: <mot de passe>

Entrez les informations requises pour les paramètres. Vous n'êtes pas obligé de saisir l'e-mail.

Lancer un serveur local

C'est la troisième sérialisation, mais je vais enfin lancer le serveur. Dans le répertoire où vous pouvez voir manage.py, tapez la commande suivante

$ python manage.py runserver

Essayez d'accéder à l'adresse indiquée dans Démarrage du serveur de développement à ~. Normalement, ce devrait être localhost: 8000. Si un écran comme celui de l'image ci-dessous apparaît, c'est OK! main.png

Connectez-vous au site de gestion

Accédez ensuite à / admin / à partir de l'URL actuelle. (Habituellement localhost: 8000 / admin /) Ensuite, entrez le nom d'utilisateur et le mot de passe que vous avez définis précédemment pour vous connecter.

Probablement, il passera à l'écran comme l'image ci-dessous. admin.png

Personnaliser le site de gestion

Il semble que le site de gestion puisse être changé pour le vôtre en changeant CSS etc.

Ici, nous allons rendre les paramètres plus faciles à utiliser.

Insérer de nouvelles données

Tout d'abord, essayez de saisir des données. Vous pouvez facilement l'insérer en appuyant sur le bouton Ajouter.

Modèles modifiés.py pour renvoyer le contenu des données

Cependant, si vous regardez les données insérées dans la liste, vous pouvez seulement voir qu'il s'agit de * Object * et vous devez vérifier les détails un par un. largeClass.png

Par conséquent, ajoutez une méthode __str__ à chaque classe dans models.py.

models.py


from django.db import models
from django.core.validators import MaxValueValidator, MinValueValidator

# Create your models here.

class LargeClass(models.Model):
    name = models.CharField(max_length=10)

    def __str__(self):      #ajouter à
        return self.name

class MiddleClass(models.Model):
    large_class = models.ForeignKey(LargeClass, on_delete=models.CASCADE)
    name = models.CharField(max_length=10)

    def __str__(self):     #ajouter à
        return self.name

class SmallClass(models.Model):
    middle_class = models.ForeignKey(MiddleClass, on_delete=models.CASCADE)
    name = models.CharField(max_length=10)

    def __str__(self):     #ajouter à
        return self.name

class Information(models.Model):
    date = models.DateTimeField()
    sente = models.CharField(max_length=50)
    gote = models.CharField(max_length=50)
    result = models.IntegerField(validators=[MinValueValidator(0), MaxValueValidator(3)])
    my_result = models.IntegerField(validators=[MinValueValidator(0), MaxValueValidator(3)])
    small_class = models.ForeignKey(SmallClass, on_delete=models.CASCADE)
    create_at = models.DateTimeField(auto_now_add=True)
    update_at = models.DateTimeField(auto_now=True)

    def __str__(self):     #ajouter à
        # return self.date     <- self.Puisque la date est de type datetime, il s'agit d'une erreur
        return self.date.strftime("%Y/%m/%d_%H:%M:%S")    #De cette façon, convertissez-le en type str et retournez

class Kifu(models.Model):
    information = models.ForeignKey(Information, on_delete=models.CASCADE)
    number = models.IntegerField(validators=[MinValueValidator(0)])
    te = models.CharField(max_length=20)

    def __str__(self):     #ajouter à
        return self.te

Utilisez la méthode «str ()» pour renvoyer la variable de la colonne que vous souhaitez afficher. Désormais, lorsque j'actualise mon navigateur, les informations s'affichent en toute sécurité. largeClass2.png

Il existe de nombreuses autres personnalisations que vous pouvez effectuer, veuillez donc vous référer au site suivant. Tutoriel Python Django (2) Création de la première application Django, partie 7

Si vous oubliez le mot de passe de l'utilisateur administrateur (ajouté le 09/03/2020)

Lorsque j'ai essayé d'utiliser la fonction d'administration pour la première fois depuis longtemps, j'ai oublié le mot de passe, alors j'ai cherché comment le changer.

Tapez la commande suivante à l'invite de commande pour la modifier.

$ python manage.py changepassword <Nom d'utilisateur que vous souhaitez modifier>
Changing password for user <>
Password:
Password(again):
Password changed successfully for user <>

Cela changera votre mot de passe.

De plus, si vous ne connaissez pas votre nom d'utilisateur, vous pouvez le trouver en vous connectant à la base de données (mysql dans mon cas) et en vérifiant la table auth_user des bases de données utilisées dans ce projet. (Je ne sais pas car le mot de passe est haché.)

Ce qui suit est un site de référence. How to reset Django admin password?

Aperçu de la prochaine fois

[Créer une vue] 1

Recommended Posts

Créez une application de gestion de score shogi à l'aide de Django 3 ~ Paramètres du site de gestion par défaut de Django ~
Créez une application de gestion de score shogi à l'aide de Django 2 ~ Paramètres de la base de données ~
Créez une application de gestion de partition shogi à l'aide de Django 4 ~ Créer une vue ~
Créez une application de gestion de partition shogi à l'aide de Django 6 ~ Split Template ~
Création d'une application de gestion de score shogi à l'aide de Django 1-Construction de l'environnement-
Créer une application de gestion de partition shogi à l'aide de Django 5 ~ Passer les données de la base de données au modèle ~
Essayez de créer un site de gestion Todo en utilisant WebSocket avec Django (Swamp Dragon)
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 1 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 2 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 3 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 4 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 5 ~
Création et déploiement d'applications Django (PTVS) à l'aide du stockage Azure Table
Créer une application d'assistance technique à l'aide de PyLearn2
Configuration initiale de django
Jusqu'à ce que vous créiez une nouvelle application dans Django
Essayez de créer une application Todo avec le framework Django REST
Créer une application Todo avec Django ③ Créer une page de liste de tâches
À moi-même en tant que débutant Django (1) -Création d'un projet / application-
À moi-même en tant que débutant Django (4) --Créer une application mémo-
Créer une application Todo avec Django ⑤ Créer une fonction d'édition de tâches
Créer un planning Django
Je vais créer un jeu pour contrôler le puzzle et les dragons en utilisant pygame
[Fiche d'apprentissage] Créez un mystérieux jeu de donjon avec Pyhton's Tkinter
Créer une application Todo avec Django ① Créer un environnement avec Docker
Créez une application CRUD simple en utilisant la vue de classe générique de Django
Créer une page d'accueil avec django
Paramètres de DEBUG lors de l'utilisation de Django
Créer un écran de connexion Django
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)