[PYTHON] Essayez d'utiliser Cookiecutter

Aperçu

https://github.com/audreyr/cookiecutter

Un outil pour créer des modèles pour les projets Python Préparez un modèle de projet à l'aide de Django et Bootstrap, et utilisez-le comme pour générer un projet à partir de la ligne de commande Certains modèles sont publiés sur GitHub, etc.

Installation

Installer avec pip

pip install cookiecutter

Générer un projet en spécifiant un modèle

cookiecutter https://github.com/audreyr/cookiecutter-pypackage.git

Quant à la spécification du modèle, il semble que la méthode soit décrite dans l'explication, alors suivez-la. Lors de la création d'un projet, il vous sera demandé des informations telles que le nom du projet et l'adresse e-mail, donc si vous répondez, cela sera reflété dans le projet. Pour le moment, le référentiel semble être cloné dans ~ / .cookiecutters. Peut-être cache.

Comment trouver un modèle

--Rechercher avec cookiecutter sur GitHub

Essayez de bouger

https://github.com/pydanny/cookiecutter-django Type qui semble être tout compris Puisque DB est PostgreSQL, passez à MySQL et utilisez La documentation est plutôt bien écrite

Génération de projet

cd ~/dev
cookiecutter https://github.com/pydanny/cookiecutter-django.git

Cette fois, je vais créer un projet dans "home directory / dev" Peu importe si vous posez la question correctement. Cette fois, je le laisserai comme monassp Faites juste attention au nom du projet

Installez les bibliothèques requises pour votre projet

La base de données utilisée étant PostgreSQL, certains paramètres sont réécrits. ~/dev/myapps/requirements/base.txt Modifiez ce fichier.

psycopg2==2.5.3 Cette ligne MySQL-python == 1.2.5 Changer pour

cd ~/dev/myapps 
pip install -r requirements/local.txt

Un fichier texte qui résume les bibliothèques nécessaires est préparé, utilisez-le pour installer Dans ce modèle, les bibliothèques peuvent être séparées selon l'environnement de test, l'environnement de production, etc.

Aux exigences test.txt production.txt local.txt base.txt Il y a

base.txt est une bibliothèque commune pour l'ensemble, et le reste est divisé en test / production / local

À ce moment-là, si je l'ai fait tel quel, une erreur s'est produite dans la bibliothèque liée à PostgreSQL Peut-être qu'il n'est pas installé

Paramètres de l'application

Changer de base de données config/settings.py DATABASES = values.DatabaseURLValue('postgres://localhost/myapps') Remplacez-le par celui qui utilise MySQL

commencer

syncdb

python manage.py syncdb

Faire une synchronisation normale Cependant, il semble y avoir un modèle géré par le sud, et cela seul ne suffira pas

python manage.py migrate

Cela semble passer les paramètres initiaux

Démarrez le serveur

python manage.py runserver

accéder

http://127.0.0.1:8000/

Créez votre propre modèle

Je ne l'ai pas vraiment fait, mais il est facile de créer le modèle de quelqu'un. Si c'est simple à jouer, ce n'est pas si difficile, donc ça semble être bon pour les gens qui font souvent des projets

Résumé

―― Cela a l'air bien lorsque vous décidez et exploitez un modèle standard, etc. dans une entreprise, etc. ――Le modèle créé peut être une référence pour la mise en œuvre, mais lorsqu'il s'agit de l'utiliser, il peut être difficile à comprendre en premier. ――Vous devrez peut-être le faire seulement occasionnellement (car cela nécessite du travail et un entretien régulier)

Recommended Posts

Essayez d'utiliser Cookiecutter
Essayez d'utiliser Tkinter
Essayez d'utiliser docker-py
Essayez d'utiliser PDFMiner
Essayez d'utiliser des géopandas
Essayez d'utiliser Selenium
Essayez d'utiliser scipy
Essayez d'utiliser pandas.DataFrame
Essayez d'utiliser django-swiftbrowser
Essayez d'utiliser matplotlib
Essayez d'utiliser tf.metrics
Essayez d'utiliser PyODE
Essayez d'utiliser virtualenv (virtualenvwrapper)
[Azure] Essayez d'utiliser Azure Functions
Essayez d'utiliser virtualenv maintenant
Essayez d'utiliser W & B
Essayez d'utiliser Django templates.html
[Kaggle] Essayez d'utiliser LGBM
Essayez d'utiliser l'analyseur de flux de Python.
Essayez d'utiliser Tkinter de Python
Essayez d'utiliser Tweepy [Python2.7]
Essayez d'utiliser collate_fn de Pytorch
Essayez d'utiliser PythonTex avec Texpad.
[Python] Essayez d'utiliser le canevas de Tkinter
Essayez d'utiliser l'image Docker de Jupyter
Essayez d'utiliser scikit-learn (1) - Clustering K par méthode moyenne
Essayez l'optimisation des fonctions à l'aide d'Hyperopt
Essayez d'utiliser matplotlib avec PyCharm
Essayez d'utiliser Azure Logic Apps
Essayez d'utiliser Kubernetes Client -Python-
[Kaggle] Essayez d'utiliser xg boost
Essayez d'utiliser l'API Twitter
Essayez d'utiliser OpenCV sur Windows
Essayez d'utiliser Jupyter Notebook de manière dynamique
Essayez d'utiliser AWS SageMaker Studio
Essayez de tweeter automatiquement en utilisant Selenium.
Essayez d'utiliser SQLAlchemy + MySQL (partie 1)
Essayez d'utiliser l'API Twitter
Essayez d'utiliser SQLAlchemy + MySQL (partie 2)
Essayez d'utiliser la fonction de modèle de Django
Essayez d'utiliser l'API PeeringDB 2.0
Essayez d'utiliser la fonction de brouillon de Pelican
Essayez d'utiliser pytest-Overview and Samples-
Essayez d'utiliser le folium avec anaconda
Essayez d'utiliser l'API Admin de la passerelle Janus
[Statistiques] [R] Essayez d'utiliser la régression par points de division.
Essayez d'utiliser Spyder inclus dans Anaconda
Essayez d'utiliser des modèles de conception (édition exportateur)
Essayez d'utiliser Pillow sur iPython (partie 1)
Essayez d'utiliser Pillow sur iPython (partie 2)
Essayez d'utiliser l'API de Pleasant (python / FastAPI)
Essayez d'utiliser LevelDB avec Python (plyvel)
Essayez d'utiliser pynag pour configurer Nagios
Essayez d'utiliser la fonction de débogage à distance de PyCharm
Essayez d'utiliser ArUco avec Raspberry Pi
Essayez d'utiliser LiDAR bon marché (Camsense X1)
[Serveur de location Sakura] Essayez d'utiliser flask.
Essayez d'utiliser Pillow sur iPython (partie 3)
Renforcer l'apprentissage 8 Essayez d'utiliser l'interface utilisateur de Chainer
Essayez d'obtenir des statistiques en utilisant e-Stat
Essayez d'utiliser l'API d'action de Python argparse