Table des matières
Utiliser la base de données de type de fichier sqlite3
Il est particulièrement gênant de faire fonctionner la base de données via commandes. Nous implémentons le fonctionnement de la base de données via la page Web de gestion en arrière-plan
Maison développement back-end Tutoriel Python Méthode d'implémentation du système d'adaptation de personnages de livres Django en python (backend)

Méthode d'implémentation du système d'adaptation de personnages de livres Django en python (backend)

Nov 15, 2018 pm 03:18 PM
mysql python sqlite windows

Le contenu de cet article concerne la méthode d'implémentation (backend) du système d'adaptation des personnages du livre Django en python. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Django

Il existe de nombreux frameworks web différents sous Python. Django est le plus représentatif des joueurs poids lourds. De nombreux sites Web et applications à succès sont basés sur Django.
Django est un framework d'application Web open source écrit en Python.

Bases de Django

Version : Django 1.10
Utilisez Pycharm pour créer un nouveau projet Django, nommé FirstDjango
Il existe un répertoire FirstDjango, un répertoire de modèles , et le fichier manage.py
Exécutez le fichier manage.py similaire à la ligne de commande flask_script

 python manage.py makemigrations   #相当于初始化数据库表
 python manage.py migrate #相当于数据库迁移命令,这里的数据库存储都是放在db.sqlite3文件里
 python manage.py createsuperuser #创建超级用户,生成db.sqlite3文件
 python manage.py runserver 7899 #默认端口号:8000
Copier après la connexion

Visitez http://127.0.0.1:7899/, vous pouvez voir la page Cela a fonctionné, mais l'application n'a pas encore été exécutée

Méthode dimplémentation du système dadaptation de personnages de livres Django en python (backend)

Modifier la langue et le fuseau horaire (setting.py)

# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans'

# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'
Copier après la connexion

Django est différent de Flask en ce sens vous n'avez pas besoin de redémarrer le programme à chaque fois que vous modifiez le code.

http://127.0.0.1:7899/admin/, vous pouvez accéder à la gestion en arrière-plan
Ici, vous pouvez ajouter de nouveaux utilisateurs et de nouveaux groupes. Les nouveaux utilisateurs et groupes peuvent se voir attribuer des droits, mais ils ne le peuvent pas. exécuter la fonction d'autorisation de distribution du super utilisateur
Exemple : Ajouter 'Peut ajouter un groupe' au groupe add_group '
Créer un utilisateur normal, appartenir au groupe add_group, vérifier le statut du personnel (indiquer si l'utilisateur peut se connecter à cette gestion site).
Lorsque vous vous connectez à la gestion backend en tant qu'utilisateur normal, vous n'aurez que la possibilité d'ajouter un groupe.

Méthode dimplémentation du système dadaptation de personnages de livres Django en python (backend)

Créez votre propre application (app) -- livre

Entrée du terminal

python manage.py startapp book
Copier après la connexion

Le livre/répertoire sera généré dans le projet en cours

Après avoir créé votre propre fichier d'application, enregistrez d'abord l'application settings.py dans le projet

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'book',
]
Copier après la connexion

Commencez à écrire la structure de la base de données ( model.py )

Déterminez d'abord quelles sont les tables de la base de données : livres, personnages.
Déterminez ensuite la structure de chaque tableau. Les attributs du livre sont : l'identifiant, le titre, l'heure de publication, le résumé, la couverture. Attributs du personnage : identifiant, nom, sexe, introduction et livre.
Déterminez enfin la relation entre les tables : il y a plusieurs caractères dans un livre, écrivez des clés étrangères dans la table de la base de données de caractères

Dans la structure du framework Django, il n'est pas nécessaire d'écrire des références inverses comme flask

# book/models.py
from django.db import models

# Create your models here.
class BookInfo(models.Model):
    # 这里不需要写id,Django框架默认会生成id,并作为主键pk
    btitle = models.CharField(max_length=100,unique=True,verbose_name='书籍标题')     # 表示在后台管理中这一栏的中文显示
    bpub_time  = models.DateField(verbose_name='出版时间')
    # bcontent = models.TextField(default='摘要',verbose_name='书籍摘要')
    # bimg = models.ImageField(default=None,upload_to='static/uploads/')
    class Meta:    ##表示这个数据库表在后台中的中文显示,因为英语区分单复数,所以需要写上单复数的中文显示
        verbose_name = '书籍信息'
        verbose_name_plural = '书籍信息'
    def __str__(self):
        return '%s' %(self.btitle)

class HeroInfo(models.Model):
    hname = models.CharField(max_length=50,verbose_name='人物姓名')
    hgender = models.BooleanField(default=True,verbose_name='人物性别')
    # 任务简介
    hcontent = models.TextField(verbose_name='人物简介')
    # 多的一端写外键
    hbook = models.ForeignKey(BookInfo,verbose_name='所属书籍')
    @property
    def gender(self):
        if self.hgender:
            return '男'
        else:
            return '女'
    class Meta:
        verbose_name = '人物信息'
        verbose_name_plural = '人物信息'
    def __str__(self):
        return '%s' %(self.hname)
Copier après la connexion

Utiliser la base de données de type de fichier sqlite3

Django utilise la base de données sqlit3 par défaut, qui peut être consultée dans le fichier settings.py du projet

DATABASES = {
    'default': {
         'ENGINE': 'django.db.backends.sqlite3',
         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
     }
}
Copier après la connexion

Après avoir écrit les modèles. py du livre d'application, nous avons commencé à créer la base de données

python manage.py makemigrations   
python manage.py migrate
Copier après la connexion

Comment entrer dans la table de la base de données sqlite3

python manage.py shell    #打开类似数据库交互命令的窗口
Copier après la connexion

Ajout de données à la base de données

>>> from book.models import BookInfo,HeroInfo
>>> from datetime import date
>>> book1 = BookInfo(btitle='小王子',bpub_time=date(1942,5,13))
>>> book1.save()
Copier après la connexion
2. Recherche


>>> BookInfo.objects.all()
<queryset>]></queryset>
Copier après la connexion
Recherche basée sur des informations spécifiées

>>> book = BookInfo.objects.get(id=1)
>>> book.btitle
'小王子'
Copier après la connexion
3. Modification des données de la base de données


>>> book1.btitle = '安徒生童话'
>>> book1.save()
>>> book = BookInfo.objects.get(id=1)
>>> book.btitle
'安徒生童话'
Copier après la connexion
4. Suppression des données de la base de données


>>> book = BookInfo.objects.get(id=1)
>>> book.delete()
(1, {'book.HeroInfo': 0, 'book.BookInfo': 1})
>>> book = BookInfo.objects.all()
>>>
Copier après la connexion
5. Associations entre les tables de la base de données

Ensuite, créez les informations de la table de la base de données sans clés étrangères

>>> book1 = BookInfo(btitle='小王子',bpub_time=date(1942,5,13))
>>> book2 = BookInfo(btitle='睡美人',bpub_time=date(1952,6,29))
>>> book1.save()
>>> book2.save()
Copier après la connexion
, créez la base de données où se trouvent les clés étrangères Informations sur le tableau

1. Créez des caractères directement selon la structure de la table de données

>>> hero1 = HeroInfo(hname='小王子',hgender=True,hcontent='小王子没有被成人那骗人的世界所征服',hbook=book1)
>>> hero1 = HeroInfo(hname='玫瑰花',hgender=False,hcontent='玫瑰花的虚荣心伤害了小王子对她的感情',hbook=book1)
>>> hero1.save()
>>> hero2.save()
Copier après la connexion
2.Ajoutez des caractères en fonction des informations sur les caractères correspondant aux livres connus


Requête Il existe deux manières d'obtenir des informations sur les caractères
>>> book1 = BookInfo.objects.get(id=2)
>>> book1.heroinfo_set.all()
<queryset>, <heroinfo:>]>
>>> book1.heroinfo_set.create(hname='小狐狸',hgender=True,hcontent='肉眼看不见事务的本质,只有用心灵才能洞察一切')
<heroinfo:></heroinfo:></heroinfo:></queryset>
Copier après la connexion
1. Rechercher directement en fonction de la table de la base de données de caractères


2. object
>>> HeroInfo.objects.all()
<queryset>, <heroinfo:>]></heroinfo:></queryset>
Copier après la connexion


>>> book1 = BookInfo.objects.get(id=2)
>>> book1.heroinfo_set.all()
<queryset>, <heroinfo:>]>
>>></heroinfo:></queryset>
Copier après la connexion
Utilisez la base de données de type de fichier mysql

pour modifier la configuration de la base de données dans le fichier settings.py

Si vous initialisez directement la base de données ici, une erreur sera signalée
# Database
# https://docs.djangoproject.com/en/1.10/ref/settings/#databases

DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'firstdjango',    #数据库名称,若没有的话,先在数据库中建立
        'USER': 'root',
        'PASSWORD': 'sheen',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}
Copier après la connexion


Vous devez définir le fichier __init__.py du projet
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'
Copier après la connexion


Exécutez la commande dans le terminal et vous pourrez afficher toutes les informations de la table dans la base de données mysql
# \PycharmProjects\FristDjango\FristDjango\__init__.py
import pymysql
pymysql.install_as_MySQLdb()
Copier après la connexion

Le fonctionnement de la base de données sur le site
 python manage.py makemigrations  
 python manage.py migrate
Copier après la connexion

Il est particulièrement gênant de faire fonctionner la base de données via commandes. Nous implémentons le fonctionnement de la base de données via la page Web de gestion en arrière-plan

Tout d'abord, vous devez enregistrer la table de la base de données dans le fichier admin.py


#book/admin
from django.contrib import admin
from book.models import BookInfo,HeroInfo
# Register your models here.
admin.site.register(BookInfo)
admin.site.register(HeroInfo)
Copier après la connexion

Méthode dimplémentation du système dadaptation de personnages de livres Django en python (backend)Les informations sur le livre n'affichent que les titres et les informations sur les personnages n'affichent que les noms, ce qui n'est pas propice à la visualisation.

#book/admin.py
from django.contrib import admin
from book.models import BookInfo,HeroInfo
# Register your models here.
class BookInfoAdmin(admin.ModelAdmin):
    list_display = ['btitle','bpub_time']
class HeroInfoAdmin(admin.ModelAdmin):
    list_display = ['hname','hgender','hcontent','hbook']   #显示栏
    list_filter = ['hbook'] #过滤器
    search_fields = ['hname','hbook']   #搜索栏
    list_per_page = 2   #每页显示多少条数据
admin.site.register(BookInfo,BookInfoAdmin)
admin.site.register(HeroInfo,HeroInfoAdmin)
Copier après la connexion

Méthode dimplémentation du système dadaptation de personnages de livres Django en python (backend)Comment ajouter des caractères directement à. la table du livre, effet d'affichage de la page Web : Si vous accédez à la page de détails du livre, vous pouvez ajouter des personnages directement

Ajouter la classe HeroInline et modifier la classe BookInfoAdmin


# book/admin.py
class HeroInline(admin.TabularInline):
    model = HeroInfo
    extra = 2   #每次增加两个添加人物的表单
    

class BookInfoAdmin(admin.ModelAdmin):
    list_display = ['btitle','bpub_time']
    inlines = [HeroInline]
Copier après la connexion

Méthode dimplémentation du système dadaptation de personnages de livres Django en python (backend)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et Python: différents paradigmes expliqués PHP et Python: différents paradigmes expliqués Apr 18, 2025 am 12:26 AM

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

Choisir entre PHP et Python: un guide Choisir entre PHP et Python: un guide Apr 18, 2025 am 12:24 AM

PHP convient au développement Web et au prototypage rapide, et Python convient à la science des données et à l'apprentissage automatique. 1.Php est utilisé pour le développement Web dynamique, avec une syntaxe simple et adapté pour un développement rapide. 2. Python a une syntaxe concise, convient à plusieurs champs et a un écosystème de bibliothèque solide.

Exemple d'introduction de Laravel Exemple d'introduction de Laravel Apr 18, 2025 pm 12:45 PM

Laravel est un cadre PHP pour la création facile des applications Web. Il fournit une gamme de fonctionnalités puissantes, notamment: Installation: Installez le Laravel CLI globalement avec Composer et créez des applications dans le répertoire du projet. Routage: définissez la relation entre l'URL et le gestionnaire dans Routes / web.php. Voir: Créez une vue dans les ressources / vues pour rendre l'interface de l'application. Intégration de la base de données: fournit une intégration prête à l'emploi avec des bases de données telles que MySQL et utilise la migration pour créer et modifier des tables. Modèle et contrôleur: le modèle représente l'entité de la base de données et le contrôleur traite les demandes HTTP.

PHP et Python: une plongée profonde dans leur histoire PHP et Python: une plongée profonde dans leur histoire Apr 18, 2025 am 12:25 AM

PHP est originaire en 1994 et a été développé par Rasmuslerdorf. Il a été utilisé à l'origine pour suivre les visiteurs du site Web et a progressivement évolué en un langage de script côté serveur et a été largement utilisé dans le développement Web. Python a été développé par Guidovan Rossum à la fin des années 1980 et a été publié pour la première fois en 1991. Il met l'accent sur la lisibilité et la simplicité du code, et convient à l'informatique scientifique, à l'analyse des données et à d'autres domaines.

Résolvez le problème de la connexion de la base de données: un cas pratique d'utilisation de la bibliothèque Minii / DB Résolvez le problème de la connexion de la base de données: un cas pratique d'utilisation de la bibliothèque Minii / DB Apr 18, 2025 am 07:09 AM

J'ai rencontré un problème délicat lors du développement d'une petite application: la nécessité d'intégrer rapidement une bibliothèque d'opération de base de données légère. Après avoir essayé plusieurs bibliothèques, j'ai constaté qu'ils avaient trop de fonctionnalités ou ne sont pas très compatibles. Finalement, j'ai trouvé Minii / DB, une version simplifiée basée sur YII2 qui a parfaitement résolu mon problème.

Code d'installation de Laravel Code d'installation de Laravel Apr 18, 2025 pm 12:30 PM

Pour installer Laravel, suivez ces étapes dans Séquence: Installer Composer (pour MacOS / Linux et Windows) Installez Laravel Installer Créer une nouvelle application d'accès au service de démarrage du projet (URL: http://127.0.0.1:8000) Configurer la connexion de la base de données (si nécessaire)

Méthode d'installation de Laravel Framework Méthode d'installation de Laravel Framework Apr 18, 2025 pm 12:54 PM

Résumé de l'article: Cet article fournit des instructions détaillées étape par étape pour guider les lecteurs sur la façon d'installer facilement le cadre Laravel. Laravel est un puissant cadre PHP qui accélère le processus de développement des applications Web. Ce didacticiel couvre le processus d'installation des exigences du système à la configuration des bases de données et à la configuration du routage. En suivant ces étapes, les lecteurs peuvent jeter rapidement et efficacement une base solide pour leur projet Laravel.

Python vs C: courbes d'apprentissage et facilité d'utilisation Python vs C: courbes d'apprentissage et facilité d'utilisation Apr 19, 2025 am 12:20 AM

Python est plus facile à apprendre et à utiliser, tandis que C est plus puissant mais complexe. 1. La syntaxe Python est concise et adaptée aux débutants. Le typage dynamique et la gestion automatique de la mémoire le rendent facile à utiliser, mais peuvent entraîner des erreurs d'exécution. 2.C fournit des fonctionnalités de contrôle de bas niveau et avancées, adaptées aux applications haute performance, mais a un seuil d'apprentissage élevé et nécessite une gestion manuelle de la mémoire et de la sécurité.

See all articles