纯手撸web框架
纯手撸web框架
(1)纯手撸
(2)基于wsgiref模块
(3)wsgiref优化版
server:
urls:
views:
动静态网页
(1)静态网页
- 页面上的数据是直接写死的 万年不变
(2)动态网页
- 数据是实时获取的
- eg:
1.后端获取当前时间展示到html页面上
2.数据是从数据库获取的展示到html页面上
- 后端:
def get_time(request):
current_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
with open(r'templates/mytime.html', 'r', encoding='utf-8') as f:
data = f.read()
data = data.replace('asdasdasdasd', current_time)
return data
- 前端:
<body>
<h1>我是一个html</h1>
asdasdasdasd
</body>
(3)jinja2模版语法
- jinja2支持将数据传递到html页面并提供近似于后端的处理方式简单快捷的操作数据
pip install jinja2
- 后端:
def get_dict(request):
user_dict = {'name': 'heart', 'age': 18, 'gender': '男', 'hobby': 'music'}
with open(r'templates/mydict.html', 'r', encoding='utf-8') as f:
data = f.read()
temp = Template(data)
res = temp.render(user=user_dict)
# 给mydict.html传了一个值 页面上通过变量名user就能够拿到user_dict
return res
- 前端:
<body>
{{user}}
{{user.name}}
{{user.age}}
{{user.gender}}
<!-- {'name': 'heart', 'age': 18, 'gender': '男', 'hobby': 'music'} heart 18 男 -->
</body>
Django
(1)创建Django文件
django-admin startproject 文件名
(2)启动Django文件
python manage.py runserver
