基于Python Tornado的在线问答系统
概述
详细
项目介绍:本项目最初是为了模仿StackOverflow的练手项目,实现了部分StackOverflow的功能。
项目说明:推荐使用Linux部署该项目,这样可以优化Tornado的性能。我的环境是Windows加Python3.6.5。
目录结构:

database:MySQL/Redis等异步连接器,数据操作方法。
handlers:Tornado控制器文件
static:静态文件地址
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:在项目根目录创建venv虚拟环境,virtualenv venv --no-site-packages

2:激活虚拟环境 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': '你的数据库密码',
'charset': 'utf8'
}
}
REDIS = {
'default': {
'host': 'localhost',
'port': 6379,
'password': '',
'selected_db': 0,
}
}
5:创建数据库,create database tequila_demo;

6:执行脚本迁移,创建初始化数据。python manage.py migrate

7:查看数据表是否创建成功,并且检查redis是否可用

8:运行项目,python manage.py run,如果您的系统是windows,那将无法使用Tornado的fork进程模式,会遇到下面的错误:

这时不要惊慌,你只需要修改manage.py文件,将server.start(num_process=4)修改为server.start()即可

最后重新运行项目: python manage.py run

9:浏览器访问http://127.0.0.1:9000






以上是部分项目页面截图,如果对于项目有什么问题可以联系我~
注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权
基于Python Tornado的在线问答系统的更多相关文章
- 从Theano到Lasagne:基于Python的深度学习的框架和库
从Theano到Lasagne:基于Python的深度学习的框架和库 摘要:最近,深度神经网络以“Deep Dreams”形式在网站中如雨后春笋般出现,或是像谷歌研究原创论文中描述的那样:Incept ...
- 仿StackOverflow开发在线问答系统
仿StackOverflow开发在线问答系统 [第二期11月9日开课]使用Python Flask Web开发框架实现一套类似StackOverflow的在线问答平台LouQA,具备提问,回答,评论点 ...
- 数据分析:基于Python的自定义文件格式转换系统
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- 监控redis数据库应用状态:python,tornado实现
公司里最近redis服务器压力越来越大,其大概情况,只能从操作系统层面看,并不详尽,故同事在网上找了一个叫做 redis-live的开源项目,我配合部署了一下,还真有点意思,并解决了其中部分小debu ...
- Python Tornado框架(ioloop对象分析)
网上都说nginx和lighthttpd是高性能web服务器,而tornado也是著名的高抗负载应用,它们间有什么相似处呢?上节提到的ioloop对象是如何循环的呢?往下看. 首先关于TCP服务器的开 ...
- selenium2自动化测试实战--基于Python语言
自动化测试基础 一. 软件测试分类 1.1 根据项目流程阶段划分软件测试 1.1.1 单元测试 单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程. 1.1.2 集成测试 ...
- selenium2环境搭建----基于python语言
selenium支持多种语言如java.c#.Python.PHP等,这里基于python语言,所以这里搭建环境时需做俩步操作: ----1.Python环境的搭建 ----2.selenium的安装 ...
- 【Machine Learning】决策树案例:基于python的商品购买能力预测系统
决策树在商品购买能力预测案例中的算法实现 作者:白宁超 2016年12月24日22:05:42 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本 ...
- 基于CkEditor实现.net在线开发之路(7)列表页面开发动作介绍
一个列表页面不止是查询,它也包含了很多业务上功能的实现,这些业务功能的实现的逻辑我称之为动作.如触发单击按钮删除数据,更改业务表数据,调用webService,调用WCF接口,弹出新窗体新增.修改.查 ...
随机推荐
- python开发_pprint()
python中的pprint.pprint(),类似于print() 下面是我做的demo: #python pprint '''python API中提供的Sample''' import json ...
- [转][Android]Android数据的四种存储方式
android.database.sqlite类 SQLiteQueryBuilder java.lang.Object android.database.sqlite.SQLiteQueryBuil ...
- HDU 4618 Palindrome Sub-Array 暴力
Palindrome Sub-Array 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=4618 Description A palindrome s ...
- CMSIS-SVD Reference
http://www.keil.com/pack/doc/cmsis/svd/html/modules.html SVD File Schema Levels Device Level Periphe ...
- python笔记20-yaml文件写入(ruamel.yaml)
前言 yaml作为配置文件是非常友好的一种格式,前面一篇讲了yaml的一些基础语法和读取方法,本篇继续讲yaml文件写入方法 用yaml模块写入字典嵌套字典这种复杂的数据,会出现大括号{ },不是真正 ...
- Visual Studio 2012连接TFS2010登录不了
一直用VS2012+TFS2010开发项目, 最近几天忽然很不正常, 在VS中会频繁要求输入TFS的账号密码, 经常要输入很多遍才可以正常连接签入签出. 这几天更甚, 基本上直接连接不了了. 网上找到 ...
- CloudStack 4.0.2 vRouter导致重启后状态不正常
最近总玩CloudStack + KVM,发现在重启CloudStack服务后,host(kvm)的状态老是为alert.日志里出现如下错误提示: ERROR [agent.manager.Agent ...
- Apache Mahout 简介 通过可伸缩、商业友好的机器学习来构建智能应用程序
在信息时代,公司和个人的成功越来越依赖于迅速有效地将大量数据转化为可操作的信息.无论是每天处理数以千计的个人电子邮件消息,还是从海量博客文章中推测用户的意图,都需要使用一些工具来组织和增强数据. 这其 ...
- 一些LR的经验,讲的还不错
https://blog.csdn.net/Dinosoft/article/details/50492309 记录一下.
- MFC【5】MFC集合类
MFC集合类现在来看已经很落后了. 5.1数组 5.1.1MFC数组类 CArray类,它实际是一个模板类,利用它可以创建人和数据类型的类型安全数组.在头文件Afxtempl.h中定义了CArray. ...