如果您在Windows环境中工作,请改为运行以下命令:
python -m venv venv
venv\Scripts\activate
对于该项目,您将使用以下Python包:
- 瓶,以创建web应用程序
- python-dotenv,导入环境变量
- TinyDB,以存储您的数据
- Twilio Python助手库,使用Twilio视频和SMS APIs
在您的终端中运行以下命令,在您的虚拟环境中安装这些软件包:
pip install flask python-dotenv twilio tinydb
将您的Twilio凭据保存为环境变量
接下来,您需要收集您的Twilio凭证并设置它们,以便它们可以在您的应用程序中使用。
创建名为的新文件_。包封/包围(动词envelop的简写)并在代码编辑器中打开它。这个文件是您保存配置变量的地方,比如您的Twilio帐户凭证,它将作为环境变量导入到Flask应用程序中。打开。包封/包围(动词envelop的简写)_文件,并添加以下变量:
TWILIO_ACCOUNT_SID=XXXXXXXXXXXXXXX
TWILIO_API_KEY_SID=XXXXXXXXXXXXXXX
TWILIO_API_KEY_SECRET=XXXXXXXXXXXXXXX
TWILIO_PHONE_NUMBER=XXXXXXXXXXXXXXX
您需要用实际的Twilio凭据替换上面的占位符文本,您可以在Twilio控制台中找到这些凭据。登录Twilio控制台,找到您的帐户SID :
复制并粘贴的值帐户SID替换的占位符文本TWILIO_ACCOUNT_SID
.
然后,导航到控制台的API密钥部分并生成新的API密钥。复制API键的值(同suddenionosphericdisturbance)电离层的突然骚扰和秘密替换的占位符文本TWILIO_API_KEY_SID
和TWILIO_API_KEY_SECRET
.
接下来,如果你还没有带短信功能的aTwilio电话号码,你需要买一个。在此了解如何购买Twilio电话号码。如果你已经有一个Twilio电话号码,它会显示在帐户信息部分,如上面的截图所示。复制此值,并使用它来替换的占位符文本TWILIO_PHONE_NUMBER
.
非常重要的是确保这些私有凭据的安全并且不受版本控制,所以如果您正在使用Git,请创建一个_。被增加_文件放在项目的根目录下。您可以在这里列出希望git忽略的文件和目录,以免被跟踪或提交。打开。被增加_在代码编辑器中,将。包封/包围(动词envelop的简写)_文件,如下所示:
.env
现在您已经准备好开始构建您的Flask应用程序了。
构建Flask服务器
创建并打开一个名为_app.py_。这是包含所有Python代码的文件。要设置这个项目,您需要创建一个新的Flask应用程序实例、一个Twilio客户机实例和一个新的TinyDB数据库。
由于这是一个小的教程项目,我们将把数据存储在TinyDB JSON文件中。但是,如果您决定进一步开发这个项目,您可能希望为您部署到生产环境的版本选择不同的数据库。
里面的_app.py_,粘贴以下代码:
import os from dotenv import load_dotenv from flask import Flask, render_template, request, abort from twilio.rest import Client from tinydb import TinyDB, Query load_dotenv() TWILIO_ACCOUNT_SID = os.environ.get(‘TWILIO_ACCOUNT_SID’) TWILIO_API_KEY_SID = os.environ.get(‘TWILIO_API_KEY_SID’) TWILIO_API_KEY_SECRET = os.environ.get(‘TWILIO_API_KEY_SECRET’) TWILIO_PHONE_NUMBER = os.environ.get(‘TWILIO_PHONE_NUMBER’) client = Client(TWILIO_API_KEY_SID, TWILIO_API_KEY_SECRET, TWILIO_ACCOUNT_SID) db = TinyDB(‘office_hours.json’) app = Flask(__name__) @app.route(‘/’) def index(): return render_template(‘index.html’)
使用这段代码,您已经创建了一个新的Flask应用程序,其中包含必要的导入、您在上一步中设置的环境变量、一个新的Twilio客户端实例和一个新的数据库。您现在还有一条路线(使用app.route()
decorator ),它将呈现一个名为_index.html_,它将包含应用程序的HTML。因为您还没有该文件,所以创建新的_index.html_文件在_模板_目录现在。打开文件并粘贴以下HTML代码:
Office Hours
Name
Phone
Room Name
Create Office Hours Chat
{% if status and status.video_room %}
Success! Office hours room: {{status.video_room.name}} ✅
{% endif %}
这个应用程序的UI并不复杂。它包括一个表单,允许用户输入他们的姓名、电话号码和他们希望接待人们的办公时间视频室的名称。它还有一个显示状态消息的部分,让用户知道房间是否创建成功。在这个HTML文件中,您还引用了一个_样式. css_文件—让我们现在创建它。
创造_static/styles.css_并粘贴以下CSS样式:
.container { margin-top: 20px; font-family: sans-serif; } h1 { text-align: center; } form { text-align: center; } .data-field { margin-bottom: 0.5em; } input { padding: 0.6em; border: 2px solid rgb(177, 189, 233); border-radius: 5px; vertical-align: middle; font-size: 14px; } input:focus { outline: 0; border-color: #0e364d; } label { text-align: right; display: inline-block; width: 6em; margin: 0 1em 0 0; } button { padding: 0.75em 1em; border: none; background-color: rgb(27, 111, 189); border-radius: 4px; font-size: 100%; color: rgb(255, 255, 255); margin: 0.5em auto; } button:focus, button:hover { background-color: rgb(88, 166, 240); } button:active { background-color: rgb(177, 189, 233); } #status { margin: 0.5em auto; text-align: center; color: rgb(13, 73, 32); }
现在你的应用看起来更有趣了。
是时候运行你的服务器了。但是,在此之前,在项目的根目录下创建一个名为_。flaskenv_。这是为烧瓶配置添加环境变量的地方。打开_。flaskenv_并添加以下几行:
FLASK_APP=app.py
FLASK_ENV=development
然后,在您的终端中,通过运行以下命令启动服务器:
flask run
一旦服务器启动,您将看到如下日志:
(venv) [office-hours] flask run
* Serving Flask app ‘app.py’ (lazy loading)
* Environment: development
* Debug mode: on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 290-231-040
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划