L'explication la plus simple au monde sur la création de LINE BOT (2) [Préparation de l'application Bot dans un environnement local avec Django de Python]

introduction

La dernière fois, j'ai créé un compte pour Line Bot. À partir de ce moment, nous créerons un système pour Line Bot pour de bon.

Je vois souvent des articles de commentaires écrits en PHP pour construire un système Line Bot, mais cette fois je vais construire un système en utilisant Python. La raison en est que nous prévoyons d'utiliser le «traitement du langage naturel» qui analyse les phrases échangées par Line Bot et y donne la meilleure réponse, et Python possède de nombreuses bibliothèques de ces systèmes de traitement du langage naturel. est.

Ensuite, nous allons créer une application pour Bot en utilisant "Django", qui est le framework Web Python le plus typique. Si vous avez créé Django ou d'autres applications Web, vous pouvez procéder tel quel, mais si vous êtes débutant ou souhaitez savoir comment utiliser Django, vous pouvez lire l'article de commentaire que j'ai écrit plus tôt. C'est facile, alors jetez un œil.

No. Titre
1 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (1) [Construction de l'environnement]
2 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (2) [Création de projet]
3 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (3) [Création d'application / configuration de la base de données]
4 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (4) [Route setting / Introduction to MTV design patterns]
5 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (5) [Introduction au fonctionnement de la base de données avec le shell Django]
6 Explication facile à comprendre de l'application Web Python (Django), même pour les débutants (6) [MTV design pattern completion]

Environnement de développement

Nous allons poursuivre la discussion en supposant un environnement Mac.

Vérifiez la version Python comme suit.

Vérifiez la version python du système


$ python3 --version
Python 3.5.2

Installez django


$ pip3 install django==1.10.3

Vérification de la version de Django


$ python3
Python 3.5.2 (default, Jun 29 2016, 13:43:58)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.get_version()
'1.10.3'

Créer un projet pour l'API Line Bot

Tout d'abord, créez un environnement virtuel Python pour l'API, qui est le lien le plus important pour faire avancer un projet Python.

$ python3 -m venv api

Créez ensuite un projet dans ce fichier. Ceci est également appelé «api».

Créer un projet


$ cd api
$ django-admin startproject api .

N'est-ce pas un environnement virtuel? apiUn répertoire nommé est créé et la structure des répertoires est la suivante.

Vérifiez la structure du répertoire (bin etc. omis)


$ tree -L 2 api
api
├── api
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── bin
├── include
├── lib
├── manage.py
└── pyvenv.cfg

Créer une application Django

Dans ce projet ʻapi, nous allons créer une application appelée linebot. Tout d'abord, installez le framework web python Django. La version de Django doit être la dernière version actuelle, 1.10.3`.

Ensuite, nous allons créer une application linebot dans ce projet ʻapi`.

Créer une application


$ cd api
$ django-admin startapp linebot .
$ tree -L 1 .
api
├── api
├── bin
├── include
├── lib
├── linebot
├── manage.py
└── pyvenv.cfg

Paramètres après la création d'une application Django

Après avoir créé l'application, divers paramètres sont requis, mais ici nous n'introduirons que les minimum requis.

api/settings.py (partie)


# Application definition
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'linebot',  #ajouter à
)
#Changer de fuseau horaire
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'
USE_TZ = False  #Passer à False par défaut en raison du fuseau horaire UTC

Paramètres de la base de données (SQLite)

Définissez le DB. Cette fois, nous utiliserons SQLite sans aucune modification des paramètres initiaux.

Paramètres de base de données


$ python3 manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK

  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying sessions.0001_initial... OK

Démarrez le serveur

Maintenant, démarrons le serveur localement et vérifions si la page Web par défaut est affichée.

Démarrez le serveur Web


$ python3 manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
November 12, 2016 - 13:04:05
Django version 1.10.3, using settings 'linebot.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Une fois le serveur Web démarré, accédez à http://127.0.0.1:8000/ depuis votre navigateur.

スクリーンショット 2016-11-12 13.05.49.png

Résumé

Vous disposez désormais d'un environnement de développement local.

Le robot de ligne n'est pas local et ne peut être exécuté qu'en plaçant cette application Web sur un serveur distant. Alors, la prochaine fois, j'expliquerai comment synchroniser cette application avec le serveur.

Article de commentaire suivant

Le moyen le plus simple au monde d'expliquer comment créer un LINE BOT (3) [Lien avec un serveur avec Git]

prime

Nous vous attendons pour nous suivre!

Présentation du service N'hésitez pas à nous contacter si vous êtes intéressé par "Kikagaku", un service de tutorat individuel pour l'apprentissage automatique qui vous permet d'apprendre "mathématiques → programmation → applications Web" en une seule fois.

Recommended Posts

L'explication la plus simple au monde sur la création de LINE BOT (2) [Préparation de l'application Bot dans un environnement local avec Django de Python]
L'explication la plus simple au monde sur la création de LINE BOT (1) [Account preparation]
Probablement le moyen le plus simple de créer un pdf avec Python 3
L'explication la plus facile à comprendre au monde sur la création de LINE BOT (3) [Coopération avec un serveur avec Git]
Comment installer le package python dans un environnement local en tant qu'utilisateur général
Le moyen le plus simple de démarrer avec Django
Le moyen le plus simple de synthétiser la voix avec python
Le moyen le plus simple d'utiliser OpenCV avec python
Créer un projet et une application Django dans un environnement virtuel Python et démarrer le serveur
Comment obtenir une liste de fichiers dans le même répertoire avec python
[Python] Comment créer un environnement de serveur Web local avec SimpleHTTPServer et CGIHTTPServer
Comment convertir / restaurer une chaîne avec [] en python
[Python] Comment dessiner un graphique linéaire avec Matplotlib
Expliquez en détail comment créer un son avec python
Comment créer un environnement Django (python) sur Docker
Le robot en ligne le plus simple au monde pour perdre du poids
[Super facile] Faisons un LINE BOT avec Python.
Comment identifier l'élément avec le plus petit nombre de caractères dans une liste Python?
[Mémo d'apprentissage] Comment créer une application avec Django ~ De l'environnement virtuel au push vers github ~
Comment créer un BOT Cisco Webex Teams à l'aide de Flask
Essayez d'exécuter python dans l'environnement Django créé avec pipenv
Comment installer NPI + envoyer un message à la ligne avec python
Comment convertir un tableau en dictionnaire avec Python [Application]
Comment utiliser la méthode __call__ dans la classe Python
Comment développer dans un environnement virtuel Python [Memo]
Comment générer une requête à l'aide de l'opérateur IN dans Django
Jusqu'à ce que Django retourne quelque chose avec un robot de ligne!
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Comment créer un environnement de développement de la série Python2.7 avec Vagrant
Comment entrer dans l'environnement de développement Python avec Vagrant
Comment créer un LINE BOT 004 interactif (répondre à la date de clôture d'une société cotée)
[Python] Créez un programme qui supprime les sauts de ligne dans le presse-papiers + Enregistrez-vous comme raccourci avec Windows
Comment transformer une chaîne en tableau ou un tableau en chaîne en Python
[Introduction à Python] Comment fractionner une chaîne de caractères avec la fonction split
Comment vérifier la taille de la mémoire d'une variable en Python
Comment créer un bot slack
Apprentissage de l'historique pour participer au développement d'applications d'équipe avec Python ~ Créer un environnement Docker / Django / Nginx / MariaDB ~
Comment faire une commande pour lire le fichier de paramètres avec pyramide
Comment créer une caméra de surveillance (caméra de sécurité) avec Opencv et Python
Comment obtenir une chaîne à partir d'un argument de ligne de commande en python
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
J'ai essayé de créer une application de notification de publication à 2 canaux avec Python
[Introduction] Je veux créer un robot Mastodon avec Python! 【Débutants】
J'ai essayé de créer une application todo en utilisant une bouteille avec python
Comment envoyer une requête à l'API DMM (FANZA) avec python
La façon la plus simple de faire un flacon
Créer un bot LINE avec Django
Comment afficher les octets de la même manière en Java et Python
Comment déboguer un programme Python en se connectant à distance à un conteneur Docker dans un environnement WSL2 avec VS Code
L'histoire de la création d'un robot LINE pour le petit-déjeuner d'une université de 100 yens avec Python
Comment créer un bot LINE à intelligence artificielle avec l'API de messagerie Flask + LINE
[Introduction à Udemy Python3 + Application] 47. Traitez le dictionnaire avec une instruction for
[Python] Explique comment utiliser la fonction range avec un exemple concret
Comment obtenir la différence de date et d'heure en secondes avec Python
[Introduction à Python] Comment trier efficacement le contenu d'une liste avec le tri par liste
J'ai essayé de créer un LINE BOT "Sakurai-san" avec API Gateway + Lambda