基于Python Tornado的在线问答系统
概述
本項目使用最新的Tornado開發(fā)。實現(xiàn)了在線提問,回答,評論等功能。使用到Tornado的generator,長輪詢等等技術, 支持MySQL的異步連接。詳細
代碼下載:http://www.demodashi.com/demo/13926.html
項目介紹:本項目最初是為了模仿StackOverflow的練手項目,實現(xiàn)了部分StackOverflow的功能。
?
項目說明:推薦使用Linux部署該項目,這樣可以優(yōu)化Tornado的性能。我的環(huán)境是Windows加Python3.6.5。
?
目錄結構:
database:MySQL/Redis等異步連接器,數(shù)據(jù)操作方法。
handlers:Tornado控制器文件
static:靜態(tài)文件地址
templats:html頁面地址
utils:Python實用工具腳本
conf:配置文件
local_conf.bak.py:本地配置文件示例
manage.py:程序啟動入口
require:依賴包,使用pip安裝
router.py:路由
?
0:下載壓縮包,將項目源文件解壓到指定目錄。我的目錄是C:\Users\zhang\Downloads\tequila-master\tequila-master>
?
1:在項目根目錄創(chuàng)建venv虛擬環(huán)境,virtualenv venv --no-site-packages
2:激活虛擬環(huán)境 venv\Scripts\activate
3:安裝Python包依賴 pip install -r require
4:將local_conf.bak.py文件名修改為local_conf.py,并且編輯local_conf.py文件為如下內容:
?
# -*- coding: utf-8 -*- import os DOMAIN = 'http://127.0.0.1:9000' DEFAULT_UPLOAD_PATH = os.path.join(os.path.dirname(__file__), 'pics') DATABASE = {'default': {'host': 'localhost','port': 3306,'database': 'tequila_demo','user': 'root','password': '你的數(shù)據(jù)庫密碼','charset': 'utf8'} } REDIS = {'default': {'host': 'localhost','port': 6379,'password': '','selected_db': 0,} }5:創(chuàng)建數(shù)據(jù)庫,create database tequila_demo;
?
6:執(zhí)行腳本遷移,創(chuàng)建初始化數(shù)據(jù)。python manage.py migrate
7:查看數(shù)據(jù)表是否創(chuàng)建成功,并且檢查redis是否可用
8:運行項目,python manage.py run,如果您的系統(tǒng)是windows,那將無法使用Tornado的fork進程模式,會遇到下面的錯誤:
這時不要驚慌,你只需要修改manage.py文件,將server.start(num_process=4)修改為server.start()即可
最后重新運行項目: python manage.py run
?
?
9:瀏覽器訪問http://127.0.0.1:9000
?
?
?
?
以上是部分項目頁面截圖,如果對于項目有什么問題可以聯(lián)系我~
代碼下載:http://www.demodashi.com/demo/13926.html
注:本文著作權歸作者,由demo大師發(fā)表,拒絕轉載,轉載需要作者授權
?
總結
以上是生活随笔為你收集整理的基于Python Tornado的在线问答系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VMware安装MikroTik Rou
- 下一篇: java信息管理系统总结_java实现科