


Introduction à l'utilisation de flask_migrate et flask_script en python (avec code)
Cet article vous apporte une introduction à l'utilisation de flask_migrate et flask_script en python (avec code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
flask_migrate
Lors de l'utilisation de falsk_sqlalchemy, l'utilisation de 'db.create_all' ne sera pas automatiquement mappée à la base de données lors de la modification ultérieure des champs de la table de base de données et doit être supprimée.
puis réexécutez 'db.create_all' sera remappé. Cela ne répond pas à nos exigences, donc flask-migrate doit résoudre
ce problème. Il peut mapper les champs modifiés à la base de données après chaque modification du modèle (classe)
from flask_sqlalchemy import SQLAlchemy from flask import Flask import pymysql from sqlalchemy import desc from flask_bootstrap import Bootstrap app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:sheen@localhost/migrate_sql' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True db = SQLAlchemy(app) app.config['SECRET_KEY'] = 'SHEEN' bootstrap = Bootstrap(app) class User(db.Model): id = db.Column(db.INTEGER,autoincrement=True,primary_key=True) # 用户名唯一且不能为空 name = db.Column(db.String(30),unique=True,nullable=False) # 测试:添加gender属性 gender = db.Column(db.BOOLEAN,default=True) todos = db.relationship('Todo',backref='user') class Todo(db.Model): id = db.Column(db.INTEGER, autoincrement=True, primary_key=True) # unique: 指定该列信息是唯一的; name = db.Column(db.String(50)) user_id = db.Column(db.INTEGER,db.ForeignKey('user.id')) if __name__ == '__main__': db.create_all()
Lorsque les tables de base de données user et todo ont été générées et que les tables contiennent des données. À l'heure actuelle, nous devons ajouter des attributs (sexe de l'utilisateur) à la table de la base de données sans affecter l'utilisation de l'utilisateur. Nous utilisons la migration de la base de données pour la gérer et ajoutons le code pour générer les attributs dans le modèle de fichier d'opération de base de données d'origine
# 测试:添加gender属性 gender = db.Column(db.BOOLEAN,default=True)
migrer les attributs principaux
Créer un entrepôt de migration (répertoire des migrations)
python manager.py db init
Lire le contenu de la classe et générer le fichier de version, qui n'est pas actuellement dans la base de données Ajouter ou supprimer ;
python manager.py db migrate -m "添加性别"
a été supprimé dans la base de données
python manager.py db upgrade
pour afficher l'état historique des modifications ; renvoie l'état de la version spécifié ;
python manager.py db history
python manager.py db downgrade base
Gérer les modifications de la base de données
Créer un nouveau fichier manage.py pour gérer les modifications de la base de données
Étapes :
from flask_script import Manager from flask_migrate import Migrate, MigrateCommand from models import app,db migrate = Migrate(app,db) manager = Manager(app) manager.add_command('db',MigrateCommand) if __name__ == '__main__': manager.run()
1. 初始化(自动生成migrations目录) python manager.py db init 2. 生成最初的迁移 python manager.py db migrate -m '添加用户性别' 出现语句:Detected added column 'user.gender',表明对model有所改动 3.数据库升级 python manager.py db upgrade 生成数据库历史版本的py文件:Running upgrade -> 202a710ebeb6, '添加用户性别'
L'extension Flask Script fournit la fonction d'insérer des scripts externes dans Flask, créant ainsi le script et système séparé
Cadre global
Tout d'abord, créez un modèle Python pour exécuter le script de commande, qui peut être nommé script.pyDans ce fichier, il y a doit être une instance Manager et la classe Manager suit toutes les commandes sur la ligne de commande. La commande appelée et l'état de l'opération d'appel du processus de traitement
Manager n'a qu'un seul paramètre - Instance Flaskfrom flask_script import Command,Manager from flask import Flask app = Flask(__name__) manager = Manager(app) if __name__ == '__main__': manager.run()
Deuxièmement, créez et rejoignez la commande. Il existe trois façons de créer une commande, à savoir créer une sous-classe Command, en utilisant le modificateur @command et en utilisant le modificateur @option
La première façon - créer une sous-classe Command
La sous-classe doit définir une La méthode run
La deuxième méthode - en utilisant le modificateur @command de l'instance Command
class Hello(Command): """欢迎信息""" def run(self): print('hello,sheen') manager.add_command('hello',Hello)
La troisième méthode ——Utilisez le modificateur @option de l'instance de commande
Il est recommandé d'utiliser @option;, vous pouvez transmettre plusieurs paramètres@manager.command def add_user(): """添加用户信息""" print('添加用户成功')
@manager.option('-n','--name',help='删除用户') def del_user(name): """删除用户信息""" if name: print('删除用户%s成功' %(name)) else: print('用户名为空!')
# script.py from flask_script import Command,Manager from flask import Flask app = Flask(__name__) manager = Manager(app) class Hello(Command): """欢迎信息""" def run(self): print('hello,sheen') manager.add_command('hello',Hello) @manager.command def add_user(): """添加用户信息""" print('添加用户成功') @manager.option('-n','--name',help='删除用户') def del_user(name): """删除用户信息""" if name: print('删除用户%s成功' %(name)) else: print('用户名为空!') if __name__ == '__main__': manager.run()
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Les raisons de l'installation des extensions de code vs peuvent être: l'instabilité du réseau, les autorisations insuffisantes, les problèmes de compatibilité système, la version de code vs est trop ancienne, un logiciel antivirus ou des interférences de pare-feu. En vérifiant les connexions réseau, les autorisations, les fichiers journaux, la mise à jour vs du code, la désactivation des logiciels de sécurité et le redémarrage du code ou des ordinateurs, vous pouvez progressivement dépanner et résoudre les problèmes.

Dans VS Code, vous pouvez exécuter le programme dans le terminal via les étapes suivantes: Préparez le code et ouvrez le terminal intégré pour vous assurer que le répertoire de code est cohérent avec le répertoire de travail du terminal. Sélectionnez la commande Run en fonction du langage de programmation (tel que Python de Python your_file_name.py) pour vérifier s'il s'exécute avec succès et résoudre les erreurs. Utilisez le débogueur pour améliorer l'efficacité du débogage.

VS Code est le code Visual Studio Nom complet, qui est un éditeur de code multiplateforme gratuit et open source et un environnement de développement développé par Microsoft. Il prend en charge un large éventail de langages de programmation et fournit une mise en surbrillance de syntaxe, une complétion automatique du code, des extraits de code et des invites intelligentes pour améliorer l'efficacité de développement. Grâce à un écosystème d'extension riche, les utilisateurs peuvent ajouter des extensions à des besoins et des langues spécifiques, tels que les débogueurs, les outils de mise en forme de code et les intégrations GIT. VS Code comprend également un débogueur intuitif qui aide à trouver et à résoudre rapidement les bogues dans votre code.

VS Code fonctionne bien sur MacOS et peut améliorer l'efficacité du développement. Les étapes d'installation et de configuration comprennent: l'installation vs du code et la configuration. Installez des extensions spécifiques à la langue (comme Eslint pour JavaScript). Installez soigneusement les extensions pour éviter un ralentissement excessif de démarrage. Apprenez des fonctionnalités de base telles que l'intégration GIT, le terminal et le débogueur. Définissez le thème et les polices de code appropriées. Remarque Problèmes potentiels: compatibilité prolongée, autorisation de fichier, etc.

Les extensions de code vs posent des risques malveillants, tels que la cachette de code malveillant, l'exploitation des vulnérabilités et la masturbation comme des extensions légitimes. Les méthodes pour identifier les extensions malveillantes comprennent: la vérification des éditeurs, la lecture des commentaires, la vérification du code et l'installation avec prudence. Les mesures de sécurité comprennent également: la sensibilisation à la sécurité, les bonnes habitudes, les mises à jour régulières et les logiciels antivirus.

Python excelle dans l'automatisation, les scripts et la gestion des tâches. 1) Automatisation: La sauvegarde du fichier est réalisée via des bibliothèques standard telles que le système d'exploitation et la fermeture. 2) Écriture de script: utilisez la bibliothèque PSUTIL pour surveiller les ressources système. 3) Gestion des tâches: utilisez la bibliothèque de planification pour planifier les tâches. La facilité d'utilisation de Python et la prise en charge de la bibliothèque riche en font l'outil préféré dans ces domaines.

Visual Studio Code (VSCOD) est développé par Microsoft, construit à l'aide du cadre Electron, et est principalement écrit en JavaScript. Il prend en charge un large éventail de langages de programmation, notamment JavaScript, Python, C, Java, HTML, CSS, etc., et peut ajouter une prise en charge d'autres langues à travers des extensions.

Le problème "ne peut pas exécuter Python" le plus courant découle de la mauvaise configuration du chemin de l'interprète Python. Les solutions incluent: la confirmation de l'installation de Python, la configuration du code vs et l'utilisation d'un environnement virtuel. De plus, il existe des techniques de débogage efficaces et des meilleures pratiques telles que le débogage des points d'arrêt, la surveillance des variables, la sortie du journal et la mise en forme du code, tels que l'isolement des dépendances à l'aide d'environnements virtuels, le suivi de l'exécution du code en utilisant des points d'arrêt et le suivi des changements variables en temps réel à l'aide d'expressions de surveillance, etc., ce qui peut améliorer considérablement l'efficacité du développement.
