Ceci est ** 3rd **, un mémorandum de création d'une application de gestion de score shogi à l'aide de Django.
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
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.
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 () `.
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.
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!
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.
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.
Tout d'abord, essayez de saisir des données. Vous pouvez facilement l'insérer en appuyant sur le bouton Ajouter.
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.
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é.
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
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?
[Créer une vue] 1
Recommended Posts