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