Python+Bottle+Sina SAE快速构建网站

news/2024/5/9 0:01:53/文章来源:https://blog.csdn.net/weixin_34248118/article/details/93828425

Bottle是新生一代Python框架的代表,利用Bottle构建网站将十分简单。

Sina SAE是国内较出名的云平台之一,十分适用于个人网站的开发或创业公司网站开发。

下面将介绍如果通过Python+Bottle+Sina SAE快速搭建一个网站。

1.注册Sina SAE账号后,创建应用,选择Python应用。进入代码管理,创建代码版本,点击编辑代码,就能看见这样的界面:

 

# encoding=utf8
import sae
#导入Bottle模块
from bottle import Bottle,route, run, template, request, response,  post, get, static_file,debug
app=Bottle()
debug(True)  #打开debug功能

@app.get('/')
def web_index():return "Hello World"application = sae.create_wsgi_app(app) 

将index.wsgi文件的代码换成以上的代码,就能实现一个最简单的网站。现在访问XXXX.sinaapp.com(XXXX是我们创建应用的时候输入的二级域名),就能返回"Hello world”。
@app.get('/')
def web_index():
   
return "Hello World"
这段代码就是一个路由,其中get是HTTP访问方式,一般常用get和post;'/'是uri地址。

@app修饰器下面需要一个函数的定义,当用户访问"/"uri时,服务器就会调用这个函数,并把函数return的结果返回给用户,函数可以返回字符串,返回网页(template),返回文件(static_file)等。

2.return网页

现在要制作一个返回登录页面的功能。

在服务器的根目录创建一个views文件夹(文件名没有硬性规定的),并放置一个login.html文件

login.html文件代码为

<html><body><form action="/login">用户名:<input type="text" name="username">密码:<input type="password" name="pwd"><input type="submit" value="登陆"></form></body>
</html>

在index.wsgi文件加入代码:

 

@app.get("/login")
def web_login():return template("login")

 

这是访问XXXX.sinaapp.com/login就会返回login.html这个网页

3.return动态网页

template功能十分强大,可以动态地在html文件中插入参数,同时,html里面可以输入python代码来使参数的插入更灵活。

例如我们"/logn"路由代码改成:

@app.get("/login")
def web_login():myList=["print me","no print me","print me"]return template("login",myList=myList)

将login.html的代码改成:

<html><body><form >用户名:<input type="text" name="username">密码:<input type="password" name="pwd"><input type="submit" value="登陆"></form>% for item in myList:%if item=="print me":<p>{{item}}</p>%end
     %end
  </body> </html>

由于html文件不能识别缩进,所以需要%end来标记一个for或if的结束。输出结果为

网页继承:

% rebase('nav_base.html')

父网页要加入

{{!base}}

 

网页包含子网页

% include('show_cols_include.html')

设置参数的默认值

% setdefault('cashier_id', '0')

 

4.return文件

在服务器的根目录创建一个images文件夹

index.wsgi代码:

@app.get("/images/:filename")
def file_images(filename):return static_file(filename,root='images')

这样,客户端就可以直接下载服务器的文件,例如网页中的图片,用到的CSS,JS文件等。

5.return JSON

在bottle,直接return字典类型的数据,就等于return JSON数据,如

myDict={“name”:"kevin";"age":21}
return myDict

 

6.获取请求的参数

很多的get请求会附带一些参数,post请求会有客户端发来的JSON,可以用以下代码来获取:

name=request.params.get("name")

"name"为参数名称

7.设置或获取cookie

设置cookie:

response.set_cookie('username',"this is my username")

 

获取cookie

username=request.get_cookie("username")

 

8.上传文件

 

file_path = 'static/xls/{0}.xls'.format(str(int(time.time())))
filename=request.files.get('input_xls').filename()  #获取文件名
request.files.get(
'input_xls').save(file_path) #保存文件

上传文件一定要在html form 标签加入属性
enctype ="multipart/form-data"

构建一个自己的服务器和自己的网站就这么简单。

暂时想到这么多,以后继续补充~~~~

 

最后附上index.wsgi的全部代码:

# encoding=utf8
import sae
from bottle import Bottle,route, run, template, request, response,  post, get, static_file,debug
app=Bottle()
debug(True)@app.get('/')
def web_index():return "Hello World"@app.get("/login")
def web_login():myList=["print me","no print me","print me"]return template("login",myList=myList)@app.get("/params")
def params():name=request.params.get("name")return name  @app.get("/images/:filename")
def file_images(filename):return static_file(filename,root='images')application = sae.create_wsgi_app(app) 

 

 

 

转载于:https://www.cnblogs.com/Xjng/p/3511983.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_798980.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HDInsight-Hadoop实战(一)网站日志分析

HDInsight-Hadoop实战&#xff08;一&#xff09;网站日志分析简介 在此示例中&#xff0c;你将使用分析网站日志文件的 HDInsight 查询来深入了解客户使用网站的方式。借助此分析&#xff0c;你可查看外部网站一天内对该网站的访问频率以及用户体验的网站错误总结。 在此教程…

20个学习CSS的绝佳网站-让你从入门到精通

CSS&#xff08;层叠样式表&#xff09;是一种简单的设计语言&#xff0c;能够将页面变漂亮这回事儿变的简单化。在HTML和XHTML中设定页面的样式&#xff0c;这是最常用的应用。但也可以应用于 XML类的文档&#xff0c;包括SVG和XUL。他负责管理网页的设计和外观。使用CSS&…

ios图文详情加载html_WordPress 网站深度优化加载速度(技术篇)

本篇文章主要介绍如何对网站的静态资源进行优化。静态资源就是网页中用到的 js/css/fonts 这些文件。基本上 WordPress 的每个插件&#xff0c;每个主题都会有自己的 css/js/fonts。最终在做好的网站上会加载这些全部的 js/css/fonts 文件。而我们需要做的就是优化这些静态资源…

Nginx配置SSL证书部署HTTPS网站

一、什么是 SSL 证书&#xff0c;什么是 HTTPSSSL 证书是一种数字证书&#xff0c;它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道&#xff0c;从而实现&#xff1a;1、数据信息在客户端和服务器之间的加密传输&#xff0c;保证双方传递信息的安全…

前端通过网站得到json_【WEB开发】Django中方便快捷的json响应

目前流行的前后端分离开发模式中&#xff0c;前端工程师需要根据后端开发人员给出的API文档发起不同的请求得到数据&#xff0c;API文档规定了一些请求的模板以及响应的数据格式和代码。通常&#xff0c;前后端约定一些代码以代表一定含义的响应。在这里&#xff0c;分享一个作…

java 文件上传漏洞_网站漏洞修复之UEditor漏洞 任意文件上传漏洞

UEditor于近日被曝出高危漏洞&#xff0c;包括目前官方UEditor 1.4.3.3 最新版本&#xff0c;都受到此漏洞的影响&#xff0c;ueditor是百度官方技术团队开发的一套前端编辑器&#xff0c;可以上传图片&#xff0c;写文字&#xff0c;支持自定义的html编写&#xff0c;移动端以…

linux服务器网站php无法访问,linux服务器无法远程连接

1、查看SSH是否安装(检查是否装了SSH包)输入命令&#xff1a;rpm -qa | grep ssh如下如所示系统已经默认安装了SSH&#xff1a;若没有安装&#xff0c;则输入&#xff1a;yum install openssh-server进行安装。在线视频教程推荐&#xff1a;linux视频教程2、查看SSH服务是否运行…

Java开源建站工具

http://www.ruanyifeng.com/blog/2011/08/opensource_java_web_development_tools.html 作者&#xff1a; 阮一峰 日期&#xff1a; 2011年8月11日 美国程序员Jon Scott Stevens&#xff0c;公布了他的创业公司所使用的开发工具清单。 他的语言平台是Java&#xff0c;开发项目是…

10个学习Android开发的网站推荐

1. Android Developers 作为一个Android开发者&#xff0c;官网的资料当然不可错过&#xff0c;从设计&#xff0c;培训&#xff0c;指南&#xff0c;文档&#xff0c;都不应该错过&#xff0c;在以后的学习过程中慢慢理解体会。 2. Android Guides - CodePath CodePath是国外一…

树莓派lnmp安装mysql_树莓派上的lnmp,建立网站》解决phpmyadmin无法访问树莓派上mysql的问题...

本篇主要记录lnmp的搭建过程&#xff0c;以及遇到的问题。解决phpmyadmin无法访问树莓派上mysql的问题时间2018年2月11日使用wordpress 可道云 等开源软件作为网站程序。网站的运行环境是lnmp&#xff0c;它是 linux nginx mysql php的缩写。注意:(首先: nginx安装完成后网页可…

PHP授权查询地址,PHP网站域名授权系统正版授权查询系统网站授权加密系统带自助授权查询...

资源介绍PHP网站域名授权系统正版授权查询系统网站授权加密系统带自助授权查询&#xff0c;主要修复了前一版本的BUG&#xff0c;增加管理员登录安全码&#xff0c;增加服务器IP域名双重授权模式!域名服务器IP授权模式 授权顶级域名后 其他二级域名均可使用。目前几乎可以运用到…

html网页如何上线,从零开始上线网站的日常(二)— 第一次上线

上一章&#xff1a;从零开始上线网站的日常(一)— 前后端分离网站本地调通本章目标&#xff1a;在云服务器上线上一章完成的网站时间&#xff1a;2019.05.13零. 步骤项目打包云服务器环境部署(JDK & Nginx)项目部署部署脚本编写一. 项目打包1. 前端项目打包前端项目打包比较…

分享高性能ASP.NET网站的系统架构设计

大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑&#xff0c;以保证网站应用的平稳运行。 大型动态应用系统又可分为几个子系统&#xff1a; Web前端系统负载均衡系统数据…

假如我来架构12306网站(一) - 概论

序言&#xff1a; 此文的撰写始于国庆期间&#xff0c;当中由于工作过于繁忙而不断终止撰写&#xff0c;最近在设计另一个电商平台时再次萌发了完善此文并且发布此文的想法&#xff0c;期望自己的绵薄之力能够给予各位同行一些火花&#xff0c;共同推进国内的大型在线交易系统…

企业网站推广的方法有哪些?

摘要&#xff1a; 网站推广就是以互联网为基础&#xff0c;借助平台和网络媒体的交互性来辅助营销目标实现的一种新型的市场营销方式。当前传播常见的推广方式主要是在各大网站推广服务商中通过买广告之类等等方式来实现&#xff0c;免费网站推广包括&#xff1a;SEO优化网站内…

网站设计如何兼顾优化?

开发十年&#xff0c;就只剩下这套Java开发体系了 >>> 网站设计除了设计网站的外观和风格以外&#xff0c;同时还要编写前端的代码&#xff0c;网站设计用描述性的标签来组织页面结构&#xff0c;可以提高内容对搜索引擎的可读性&#xff0c;有利于网站优化&#x…

通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行(转载)

LoadControl 和输出缓存会话和输出缓存Forms 身份验证票证生存期视图状态&#xff1a;无声的性能杀手SQL Server 会话状态&#xff1a;另一个性能杀手未缓存的角色配置文件属性序列化线程池饱和模拟和 ACL 授权不要完全信赖它 — 请设置数据库的配置文件&#xff01;ASP.NET 成…

做一个网站需要多少花费?

我是今年清明节&#xff08;4.5&#xff09;之后开始做自己的网站&#xff0c;这周&#xff08;6.20号左右&#xff09;网站正式上线。由于在上班&#xff0c;利用下班时间和周末&#xff0c;陆陆续续做了3个月&#xff0c;勉强做了个能打开&#xff0c;有内容&#xff08;对&a…

搭建自己的ebook网站

2019独角兽企业重金招聘Python工程师标准>>> 搭建自己的电子书网站 下载代码方式&#xff1a; githubgitee项目介绍 项目使用spring-boot开发&#xff0c;使用maven主要分为manager&#xff0c;common&#xff0c;client模块。 manager 管理模块 参考 client 客户端…

注册网站域名多少钱_网站注册域名要知道什么?注意什么?

网站注册域名要知道什么&#xff1f;注意什么&#xff1f;网站注册域名的问题咱们聚名网已经跟大家说了很多了&#xff0c;但是注册好域名之后&#xff0c;接下来该做哪些&#xff0c;咱们聚名网还没和大家细细的说&#xff0c;一般网站注册好之后需要做哪些事情呢&#xff1f;…