首页 > 代码库 > web框架(一)之基础简介
web框架(一)之基础简介
http的请求声明周期:
域名----DNS服务器---IP地址---基于tcp协议的http协议发送请求协议,服务端返回响应头+响应体(我们所看到的页面(是经过js渲染的,接收的是字符串))
服务端(web服务)根据我们发送的url,对应不同的函数(路由系统)
不同的函数返回不同的数据:1每次都返回相同的字符串:静态网页
2每次返回不同的字符串:动态网页
3从数据库中读取数据,用模板引擎渲染到html中(模板渲染replace)
4用第三方工具jinja2渲染模板(自动将数据库中读出的数据渲染到html中)
自己开发web框架:
socket
http协议 无状态 短连接
html知识
数据库(pymysql,sqlachemy)
http协议回顾:
浏览器(socket客户端)
2. www.cnblogs.com(42.121.252.58,80)
sk.socket()
sk.connect((42.121.252.58,80))
sk.send(‘我想要xx‘)
5. 接收
6. 连接断开
博客园(socket服务端)
1. 监听ip和端口(42.121.252.58,80)
while True:
用户 = 等待用户连接
3. 收到‘我想要xx‘
4. 响应:“好”
用户断开
自己写网站:
1 socket服务端
2 根据url不同返回不同的内容
路由系统:url----函数
3 字符串返回用户
模板引擎渲染:html充当模板,数据库是来源,jinja2第三方渲染工具
自己创造任意字符串
web框架:
分类方式一:
- 1,2,3 tornado
- [第三方1],2,3 django---wsgiref
- [第三方1],2,[第三方3] flash
分类方式二:
- Django
- 其他
django框架:
安装:pip3 install django
# 创建Django程序
django-admin startproject mysite
# 进入程序目录
cd mysite
# 启动socket服务端,等待用户发送请求
python manage.py runserver 127.0.0.1:8080
程序目录简介:
mysite
mysite
- settings.py # Django配置文件
- url.py # 路由系统:url->函数
url 对应关系:
/login/ login
def login(request):
request.method
request.POST
request.GET
- wsgi.py # 用于定义Django用socket, wsgiref,uwsgi
manage.py # 对当前Django程序所有操作可以基于 python manage.py runserver
初始操作:
1 创建project
2 写配置文件:
- 模板路径:template目录
TEMPLATES=[‘DIRS‘: [os.path.join(BASE_DIR, ‘template‘)],]
- 静态文件路径:static目录
STATIC_URL = ‘/static/‘
STATICFILES_DIRS = (
os.path.join(BASE_DIR,‘static‘),
)
- 其他配置:
MIDDLEWARE = [
#‘django.middleware.csrf.CsrfViewMiddleware‘,]
静态网站 : 访问相同的域名,看到相同的内容
GET请求 ---------》只有request.GET
POST请求-------》 request.GET和request.POST都可能有值
模板引擎中的特殊标记:
<p>{{ name }}</p>
<p>{{ users.0 }}</p>
<p>{{ users.1 }}</p>
<p>{{ user_dict.k1 }}</p>
<p>{{ user_dict.k2}}</p>
<table>
{% for row in user_list_dict %}
<tr>
<td>{{ row.id }}</td>
<td>{{ row.name}}</td>
<td>{{ row.email }}</td>
<td>
<a>编辑</a> | <a href="http://www.mamicode.com/del/?nid=row.id">删除</a>
</td>
</tr>
{% endfor %}
web框架(一)之基础简介
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。