本节我们的主要任务是把首页通过bottle的目标进行渲染展示出来!
起手式
第一步:资源导入项目
把相关的资源文件拷贝到对应目录文件下,如图示:
image.png
第二步:程序入口代码编写
任何程序的启动都是需要一个入口,后续启动的时候也是需要 使用python xxx.py的方式来启动此程序。
#!/usr/bin/evn python
# coding=utf-8
# 导入程序需要的日志包模块
import logging
# 导入程序需要的Session包模块
from beaker.middleware import SessionMiddleware
# 导入bottle框架路由,运行,模板,程序实例,静态文件处理 和 get,post 错误等处理模块
from bottle import route, run, TEMPLATE_PATH, default_app, template, static_file, get, error
# 导入异步协成处理模块
from gevent import monkey;
# 导入自定义的路由视图模块,即URL路径
from home.routes import *
monkey.patch_all()
# 获取本脚本所在的路径
pro_path = os.path.split(os.path.realpath(__file__))[0]
sys.path.append(pro_path)
# 定义assets路径,即静态资源路径,如css,js,及样式中用到的图片等
assets_path = '/'.join((pro_path, 'home/assets'))
# 定义图片路径
images_path = '/'.join((pro_path, 'home/images'))
# 定义提供文件下载的路径
download_path = '/'.join((pro_path, 'home/download'))
# 定义文件上传存放的路径
upload_path = '/'.join((pro_path, 'home/upload'))
# 定义模板路径
TEMPLATE_PATH.append('/'.join((pro_path, 'home/views')))
# 定义日志目录
log_path = ('/'.join((pro_path, 'log')))
# 定义日志输出格式
logging.basicConfig(level=logging.ERROR,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%Y-%m-%d %H:%M:%S',
filename="%s/error_log" % log_path,
filemode='a')
# 设置session参数
session_opts = {
'session.type': 'file',
'session.cookei_expires': 3600,
'session.data_dir': '/tmp/sessions',
'sessioni.auto': True
}
@error(404)
def error404(error):
"""定制错误页面"""
return template('404')
@route('/assets/