一、简述
HTTP: 无状态,短连接(链接之后自动断开)
TCP: 链接之后除非设定关闭,否则不断开
web(应用):
浏览器: (socket客户端)
访问的网址: (socket服务端)
程序流程:
1、 客户端输入网址(ip:port), 访问网址
链接服务端并发送请求
2、 服务端监听自己的ip和port,监听到之后,就可以接收到客户端发来的请求, 并给于响应, 响应之后断开链接
3、客户端接收到服务端的相应之后,也断开链接
自己写网站:
1、socket服务端
2、根据url的不通,返回不同的页面
路由系统:
url -> 函数
3、字符串返回用户
模板引擎渲染
html充当模板(在特定位置设定特殊字符,数据库动态获取数据,程序生成指定位置的标签信息,替换掉Html中的特殊字符)
4、web框架:
包含(1, 2, 3)各部分的功能 例: Tornado
包含(2, 3)部分的功能 例:Django (wsgiref为第三方的工具实现1的功能)
包含(2)部分的功能: Flask
这几个框架中只有Django是重量级的框架,其他都是轻量级的框架
二、Django框架:
1、安装django, pip3 install django/conda install django
2、创建django项目:
django-admin startproject mysite(项目文件夹名称)
3、启动创建的项目:
python manage.py runserver 127.0.0.1:8080
默认的端口是:8000
4、pycharm创建项目项目目录介绍
mysite
mysite
settings.py: # django的配置文件
url.py: # 路由系统,url和函数的映射关系
wsgi.py: # socket功能,本机带有wsgiref,工程项目生产中使用 uwsgi
# 当前项目中所有的操作都有该程序管理
manage.py: 所有程序的管理程序脚本
三、简易的登录页面:
1、url.py: 创建映射的功能函数,必须传入一个参数, 参数为所有请求信息
2、templates:在该文件下创建页面模板文件,
并在setting中配置信息:
主要指定DIRS的值,是html文件的文件夹位置
3、创建static文件夹, 编写静态文件, css: 设定页面模板文件的样式,在html文件中使用link将css中的样式加入页面展示中
4、额外配置:
html页面模板想要引入css样式,需要在setting.py中配置如下信息:
# 使用是的前缀
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
static是css文件所在的文件夹位置,不需要定位到具体的css文件,但是html引入css样式的时候, 使用的位置定位是 STATIC_URL 的信息:
建议创建存放css文件夹的时候,文件夹名称和setting.py 中 STATIC_URL的值相同
<link rel="stylesheet" href="/static/commons.css">
还有一个额外配置:
将第五行注释掉
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
#'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]