• 3.前端、后端环境的搭建


    1.前端vue环境搭建

    如何拿到已开发好的vue代码,在本地运行

    1.1下载Node(官网)

    node.js官网网址:nodejs.org

    安装Node方法
    选择下一步即可

    1.2.打开VSCode加载前端项目

    文件等更新完毕后会放到资料中,如有需要可以私信获取

    1.3.运行命令安装依赖包

    命令行输入:

    1. num install # 速度慢
    2. npm install --global yarn # 速度快
      yarn

    1.4.启动项目

    yarn serve

    2.后端Tornado环境搭建

    2.1创建文件夹用VSCode打开

    2.2VSCode中创建虚拟环境

    mkvirtualenv forum_env
    
    • 1

    2.3安装

    安装tornado

    pip install tornado
    
    • 1

    安装异步peewee

    pip install peewee-async
    
    • 1

    安装异步mysql

    pip install aiomysql
    
    • 1

    2.4项目内搭建结构

    1. 新建目录,最后会把所有目录截图
    2. 创建一个类,并测试是否能打开网页访问
    3. 创建静态资源的路径、前缀参数
    4. 新建一个数据库、连接数据库、异步创建模型

    2.5 未分类时的文件信息

    # app.py
    from tornado.web import Application, RequestHandler
    from tornado.ioloop import IOLoop
    import peewee_async
    class IndexHandler(RequestHandler):
        async def get(self):
            self.write('Hello!!!')
    
    # 异步连接数据库
    mysql = {
        'database':'forum',
        'host':'127.0.0.1',
        'port':3306,
        'user':'root',
        'password':'root'
    }
    database = peewee_async.MySQLDatabase(**mysql)
    manager = peewee_async.Manager(database)
    
    if __name__ == '__main__':
        import os
        base_path = os.path.abspath(os.path.dirname(__file__))
        settings = {
            'static_path': os.path.join(base_path,'static'),
            'static_url_prefix':'/static/',
            'debug':True
        }
        app = Application([('/', IndexHandler)], **settings)
        app.listen(8000)
        IOLoop.current().start()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    但是这样很不好,因为到时候的控制器增多,全部写在一起就容易乱

    2.6 分类创建Tornado项目结构

    1. 分出连接数据库内容到参数文件config.py
    2. 创建一个文件夹下放:models放模型、handler放控制器类、static放静态文件、utils工具类
    3. 在handler下创建BaseHandler移动控制器IndexHandler
    4. 建立router.py专门管理创建路由
    5. 创建文件专门负责启动项目manger.py
    6. 优化app.py,放到forum下的初始化文件,让文件夹变成一个包,可以自动执行

    2.7分类创建Tornado项目结构展示

    在这里插入图片描述

    # forum/__init__.py
    # 管理项目初始化应用
    from tornado.web import Application
    
    import peewee_async
    from config import mysql,settings
    from router import handlers
    
    
    database = peewee_async.MySQLDatabase(**mysql)
    manager = peewee_async.Manager(database)
    
    def create_app():
        app = Application(handlers, **settings)
        app.listen(8000)
    
    
        
        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    # manager.py
    # 专门负责启动项目
    from tornado.ioloop import IOLoop
    from forum import create_app
    def start_app():
        create_app()
        IOLoop.current().start()
    
    
    if __name__ == '__main__':
        start_app()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    # router.py
    from forum.handler import BaseHandler
    handlers = [
        ('/',BaseHandler.IndexHandler)
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    # forum/handler/BaseHandler.py
    from tornado.web import RequestHandler
    class IndexHandler(RequestHandler):
        async def get(self):
            self.write('Hello!!!')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    # config.py
    
    # 连接数据库配置信息
    import os
    base_path = os.path.abspath(os.path.dirname(__file__))
    settings = {
        'static_path': os.path.join(base_path,'forum/static'),
        'static_url_prefix':'/static/',
        'debug':True
    }
    # 异步连接数据库
    mysql = {
        'database':'forum',
        'host':'127.0.0.1',
        'port':3306,
        'user':'root',
        'password':'root'
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
  • 相关阅读:
    使用Python进行可视化
    Matlab图像处理-神经网络分类法
    【Android】基于webView打造富文本编辑器(H5)
    设计模式——策略模式(Strategy Pattern)+ Spring相关源码
    基于蚁群算法的三维路径规划算法
    Docker(9)DockerFile
    蓝桥杯单片机第六届省赛题详细讲解(简易温度采集和控制装置)
    逆向-beginners之字符串数组
    测试开发(6)软件测试教程——自动化测试selenium(自动化测试介绍、如何实施、Selenium介绍 、Selenium相关的API)
    基础算法相关笔记
  • 原文地址:https://blog.csdn.net/m0_63953077/article/details/127743076