zoukankan      html  css  js  c++  java
  • 基于Python Tornado的在线问答系统

    概述

    本项目使用最新的Tornado开发。实现了在线提问,回答,评论等功能。使用到Tornado的generator,长轮询等等技术, 支持MySQL的异步连接。

    详细

    项目介绍:本项目最初是为了模仿StackOverflow的练手项目,实现了部分StackOverflow的功能。

    项目说明:推荐使用Linux部署该项目,这样可以优化Tornado的性能。我的环境是Windows加Python3.6.5。

    目录结构:

    image.png

    database:MySQL/Redis等异步连接器,数据操作方法。

    handlers:Tornado控制器文件

    static:静态文件地址

    templats:html页面地址

    utils:Python实用工具脚本

    conf:配置文件

    local_conf.bak.py:本地配置文件示例

    manage.py:程序启动入口

    require:依赖包,使用pip安装

    router.py:路由

    0:下载压缩包,将项目源文件解压到指定目录。我的目录是C:UserszhangDownloads equila-master equila-master>

    1:在项目根目录创建venv虚拟环境,virtualenv venv --no-site-packages

    image.png

    2:激活虚拟环境 venvScriptsactivate

    image.png

    3:安装Python包依赖 pip install -r require

    image.png

    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;

    image.png

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

    image.png

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

    image.png

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

    image.png

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

    image.png

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

    image.png

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

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    以上是部分项目页面截图,如果对于项目有什么问题可以联系我~

    注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

  • 相关阅读:
    Mongodb-SpringData
    Node-Vue
    SpringBoot-SpringCloud
    WebSocket-WebService
    Scala_学习
    GO_学习
    页面分页
    页面分页
    如何将域名部署到Tomcat中,用域名访问服务器
    如何将域名部署到Tomcat中,用域名访问服务器
  • 原文地址:https://www.cnblogs.com/demodashi/p/9582457.html
Copyright © 2011-2022 走看看