如何使用Python搭建一个OA网站?

发布于:2023-07-24 18:08:58

1、学习一种web框架

2、学习mysql数据库,会写sql语句

3、了解简单的HTML和javascript这些前端知识

在基于python的网页开发框架中,tornado可谓是独树一织。

第一次了解到tornado框架,还是在网上找到的python网站开发框架对比文章中

这里简单介绍一下python网站最常见的3个开发框架:

1、Django

这个框架可谓是声名在外了,想必只要想用python开发网站的同学,都听说过这个框架;能想到网站开发模块基本都有了,而且还有杰出的ORM支持,快速上手是一个非常好的选择。

但是因为本人喜欢折腾,而且本人是大数据专业,需要框架对超高并发的支持,果断弃之。

2、Flask

flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。

Flask 框架学会以后,可以考虑学习插件的使用。例如使用 WTForm + Flask-WTForm 来验证表单数据,用 SQLAlchemy + Flask-SQLAlchemy 来对你的数据库进行控制

本人由于被tornado的超高并发吸引,未使用上述框架

3 、Tornado

由facebook开源出来的超高并发框架,利用异步协程机制,实现比多线程更高的性能爆发,绝对是高并发类网站的*选,知乎网就是用这个框架开发的,性能超高。

当然,缺点也是有的,很多东西需要自己写,也没有很好的ORM支持;但是,作为一个喜欢自己折腾和不受限制的本人来说,这个是我的最爱。

好了,接下来详细介绍如何安装Tornado, 基于python3

安装非常简单,只需要在云主机中一行命令即可(需要先安装完成python3):

python -m pip install tornado

接下来,新建一个普通的python项目,并需要生成一些文件及文件夹,主要包括如下:

我已经建好的文件目录结构见下图(红框中是必须要有的,其他文件夹和文件是我自己开发为了方便单独加的)

1、application.py

全局环境设置,包括静态目录设置、模板目录设置、是否debug,及可能需要用到的cookies加密设置

写入代码如下:

from url import url import tornado.web import os settings = dict( template_path = os.path.join(os.path.dirname(__file__), "templates"), static_path = os.path.join(os.path.dirname(__file__), "statics"), debug=True #生产环境去掉 ) application = tornado.web.Application( handlers = url, **settings )

2、server.py

启动tornado服务主文件,主要包括web的访问URL及端口配置

如下代码:

#!/usr/bin/env Python # coding=utf-8 import tornado.ioloop import tornado.options import tornado.httpserver from application import application from tornado.options import define, options import settings define("port", default = 80, help = "run on the given port", type = int) def main(): #启动网站进程 tornado.options.parse_command_line() http_server = tornado.httpserver.HTTPServer(application) http_server.listen(options.port) host=127.0.0.1; print ("Development server is running at http://%s:%s" % (host,options.port)) print ("Quit the server with Control-C") loop=tornado.ioloop.IOLoop.instance(); tornado.autoreload.start(loop); #更改代码无需重启时需要,只在开发环境 loop.start(); if __name__ == "__main__": main()

3、url.py

URL路由,即用来配置访问某个URL路径时,该具体定位到哪个HTML文件

加入如下代码:

#!/usr/bin/env Python # coding=utf-8 """ the url structure of website """ import sys #utf-8,兼容汉字 from importlib import reload reload(sys) from handlers.index import IndexHandler url = [ #网站各项功能 (r/, IndexHandler) ]

说明:通过URL路径’/’,访问IndexHandler对应的HTML文件,通过上方import目录可以看到,这个文件在handlers文件夹里。

4、handles 文件夹

用来具体处理网页动态交互请求,里面主要是get和post方法中的逻辑开发。

5、statics 文件夹

用来存放网页需要的CSS样式表文件、Javascript文件及图片、视频等静态网页内容,这个文件夹的特征是,通过浏览器URL路径可直接访问,所以不要存放需要保密的后台程序文件

6、templates 文件夹

用来存放静态HTML文件。

总结:

实际上tornado只是一种开发框架和思想,后端语言底层都是python,你完全可以按照你自己的想法修改文件夹路径和作用;

只是这种开发思路能够形成一个统一的开发框架,便于形成标准化的python开发解决方案。


免责声明:本站所有内容及图片均采集来源于网络,并无商业使用,如若侵权请联系删除。

上一篇:OA和信息化建设

下一篇:OA系统门户,用开源OA平台就可简单搭建

资讯 观察行业视觉,用专业的角度,讲出你们的心声。
MORE

I NEED TO BUILD WEBSITE

我需要建站

*请认真填写需求信息,我们会在24小时内与您取得联系。