用Python的Django在本地环境中准备Line Bot应用的方式,以世界上最易懂的方式进行解释(第2部分)

首先

上次我们创建了一个用于Line Bot的账户。
从这次开始,我们将正式构建Line Bot的系统。

为了构建Line Bot系统,我经常看到用PHP编写的解释文章,但这次我们将使用Python进行系统构建。
原因是,我们计划使用Python进行自然语言处理,分析Line Bot的对话,并对其进行最佳回答。而Python在自然语言处理方面有丰富的库。

然后,我们将使用最具代表性的Python Web框架之一“Django(简称为“吉普”)”来创建一个适用于机器人的应用程序。
如果你已经有制作Django或其他Web应用程序的经验,你可以按照这个步骤继续进行,没有问题。但是,对于初学者或希望了解Django使用方法的人来说,我之前写的解说文章非常易懂,请务必参考一下。

No.タイトル1PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(1)【環境構築編】2PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(2)【プロジェクト作成編】3PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(3)【アプリケーション作成・DB設定編】4PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(4)【ルーティング設定・MTVデザインパターン入門編】5PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(5)【Django shellでDB操作入門編】6PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(6)【MTVデザインパターン完成編】

开发环境就是指为软件开发而准备的工具和资源。

    • OS: Mac OS Sierra (10.12)

 

    • Python 3.5.2

 

    Django 1.10.3 ※ この後インストールします

我們將基於Mac的環境進行討論。

以下是Python的版本确认:

$ python3 --version
Python 3.5.2
$ pip3 install django==1.10.3
$ 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'

创建一个用于 Line Bot 的 API 项目。

首先,我们需要创建用于进行Python项目的最大框架的API所需的Python虚拟环境(Virtual Environment)。

$ python3 -m venv api

然后,在这里创建一个项目。
同样将其命名为api。

$ cd api
$ django-admin startproject api .

这样虚拟环境就建立成功了吧。
创建了一个名为api的目录,目录结构如下。

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

创建Django应用程序

我们要在这个API项目中创建一个叫做linebot的应用程序。
首先,安装Python的web框架Django。
我们将使用当前最新版本的Django,即1.10.3。

然后,我们将在此 API 项目中创建linebot的应用程序。

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

创建Django应用程序后的配置

创建应用程序后,需要进行各种设置,但在此,我们只介绍最基本的必需设置。

# Application definition
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'linebot',  # 追加
)
# タイムゾーンの変更
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'
USE_TZ = False  # DefaultではUTCのタイムゾーンのため False に変更

数据库(SQLite)的配置

进行数据库的设置。
这次我们将使用特定的初始设置并保持SQLite无修改。

$ 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

服务器的启动

首先,在本地启动服务器,确认初始化设置的网页是否显示出来。

$ 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.

一旦web服务器启动,就可以通过浏览器访问http://127.0.0.1:8000/。

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

总结

这样,本地的开发环境已经准备好了。

只有将Line Bot的Web应用程序放置在远程服务器上,而不是在本地环境中,才能使其运行。因此,下一步我们将解释如何将此应用程序同步到服务器上。

下一篇解说文章

用中文以尽可能易懂的方式解释如何创建LINE BOT(第三部分)【与服务器的Git协作】

赠品

期待你的关注!

    • Qiita: Carat 吉崎

twitter:@carat_yoshizaki

はてなブログ:Carat COOのブログ

ホームページ:Carat

如果您对机器学习的一对一家庭教师服务“キカガク”感兴趣,能够在“数学→编程→Web应用程序”等领域一次性学习,请随时与我们联系。

广告
将在 10 秒后关闭
bannerAds