web2py框架

介绍:

web2py是一种免费的、开源的web开发框架,采用python语言编写,并且可以使用python编程。

MVC模式:模型Model、视图View、控制器Controller

一、安装

pip install web2py

二、创建项目(Pycharm)

1.选择File->New Project->Web2Py 输入Application name 后点击Create按钮

2.左侧的树形栏中有web2py>applications 和 Web2py Library

applications下面依次有admin、examples、创建项目文件夹、welcom 等文件夹

Web2py Library是web2py的库文件

3.项目文件夹中包含 文件夹:controllers, cron, languages, models, modules, private, static(方式静态文件css、 fonts、 images、 js), views

                                 文件:  __init__.py    ABOUT   LICENSE   routes.example.py

4.一般情况下运行Web2py Library中的web2py.py文件即可运行整个程序框架

三、配置项目

1.选中树形目录中的web2py点击绿色的运行按钮,就会弹出一个输入server port和password的提示框,点击start server按钮

2.这时浏览器会弹出本地服务http://127.0.0.1:8000/welcom/default/index

3.点击admin按钮输入密码,进入admin页面

点击任何一个文件夹,都会进入相应的程序当中

4.examples

一个示例

5.NetworkAnalysis

自己创建的应用程序

6.welcom

“welcome”应用程序是您在登录前看到的基本应用程序。http://127.0.0.1:8000/welcom/default/index

工作流程

111

在图中:

Server可以是web2py内置服务器或第三方服务器,例如Apache,服务器可以处理多线程

Main是主要的WSGI应用,它负责处理所有常见任务和封装用户应用。它处理cookies、sessions、transactions、URL地址解析

Model、View、Controller组件构成了用户应用。

同一个web2py实例可以承载多个应用。

虚线箭头表示与数据库引擎的通信。数据库查询可以使用SQL语言(不推荐)或使用web2py DAL语言(推荐),这样web2py应用代码不依赖于特定数据库引擎。

 

四、网站构成

在 application/MyWebPy(我的应用名)/static/ 目录下,是各种资源文件,如 css、 fonts、 images、 js 等。

访问静态文件:http://127.0.0.1:8000/MyWebPy(项目名)/static/images/background.jpg

-------------------------------------------

在 application/MyWebPy(我的应用名)/controllers/ 目录下,是各种控制器文件。default.py 是默认的控制器文件,里面有各种函数。

在浏览器里输入 http://127.0.0.1:8000/MyWebPy ,则会默认调用 default.py 控制器的 index() 函数。

我们修改了index()函数里的返回参数,不需要重启服务器,只需刷新 http://127.0.0.1:8000/MyWebPy 页面,界面上的内容就会即刻改变,整个过程是热部署的。

在 application/MyWebPy(我的应用名)/controllers/ 目录下新建 .py 控制器文件,并在index()方法里返回相应页面,则可定制网站。

如 新建 jlaix.py ,在里面输入:def index(): return "这是我做的网站!"

则在浏览器里输入 http://127.0.0.1:8000/MyWebPy/jlaix 则会显示页面,呈现"这是我做的网站!"的文字内容。

------------------------------------------

 在 application/MyWebPy(我的应用名)/views/ 目录下,是静态页面,.html

-------------------------------------------

在 application/MyWebPy(我的应用名)/cron/ 目录下,

注册经常性的任务(通过cron)以定时和/或在特定的任务完成(action)之后执行。用这种方式将可能在后台运行耗时长的、计算量大的任务,而不影响用户浏览。

--------------------------------------------

在 application/MyWebPy(我的应用名)/databases/ 目录下,

--------------------------------------------

在 application/MyWebPy(我的应用名)/errors/ 目录下,

--------------------------------------------

在 application/MyWebPy(我的应用名)/languages/ 目录下,

--------------------------------------------

在 application/MyWebPy(我的应用名)/models/ 目录下,

--------------------------------------------

在 application/MyWebPy(我的应用名)/modules/ 目录下,

--------------------------------------------

在 application/MyWebPy(我的应用名)/private/ 目录下,

--------------------------------------------

在 application/MyWebPy(我的应用名)/sessions/ 目录下,

--------------------------------------------

在 application/MyWebPy(我的应用名)/uploads/ 目录下,

---------------------

routs.example.py,是默认文档

 

首先打开web2py项目,默认进入controllers文件夹下的default.py中的index()方法

redirect(URL('文件名1‘,’方法名1’))    重定向到文件名1下的方法名1中

 

http://127.0.0.1:8000/NetworkAnalysis/project/sda_get_source_ip?project_name=OCBC

例如访问这个URL,NetworkAnalysis是项目名称,project是controller下的一个project.py文件,sda_get_source_ip是project.py文件中的函数名

?project_name=OCBC是传递的参数,在sda_get_source_ip函数中需要用request.vars.get('project_name')来获取它的值

也可以URL为http://127.0.0.1:8000/NetworkAnalysis/project/sda_get_source_ip,参数为{"project_name"="OCBC"}  来传递,等价上面的方式,同样用request.vars.get('project_name')来获取参数的值

想要拼接路径 project_dir = os.path.abspath("%s/private/sda_analysis/%s" % (request.folder, project_name.upper()))    #request.folder为项目绝对地址

这两种方式都可以用postman测试

转载于:https://www.cnblogs.com/zz27zz/p/8558835.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值