django_study
文章目录
1. 学习之前:
需要先了解:socket,wsgi
1.1 socket 套接字
# -*- coding:utf-8 -*-
"""
authror: xscbrick
date: 2021-06-02
"""
import socket
def main():
print("hello, is main()")
# 创建一个套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
# 监听
sock.bind(('localhost', 8333))
sock.listen(5)
while True:
# 等待浏览器访问
conn, addr = sock.accept()
data = conn.recv(1024)
print(data)
conn.send(b'HTTP/1.1 200 OK \r\nContent-Type:text/html;charset=utf-8\r\n\r\n')
conn.send("well comm".encode("utf-8"))
conn.close()
pass
if __name__ == "__main__":
main()
1.2 WSGI(Web Server Gateway Interface)
是一种规范,它定义了使用python 编写的 web app 与web server(socket 服务端) 之间接口格式,实现web app 与 web server 间的解耦
通俗的说:当规范建立后,程序就不再重复编写 web server ,而是直接使用现成的实现WSGI 的模块(ps: wsgiref, uwsgi, erkzeug), 从而让程序员更加专注于业务代码
# -*- coding:utf-8 -*-
"""
authror: xscbrick
date: 2021-06-02
"""
from wsgiref.simple_server import make_server
def run_server(environ, start_response):
"""
当有用户在浏览器上访问:127.0.0.1:8033 立即执行该函数并将函数的返回值返回给用户浏览器
:param environ: 请求相关内容,比如浏览器类型,版本, 来源地址,url 等
:param start_response: 相应相关
:return:
"""
start_response('200 OK', [('Content-Type', 'text/html; charset=utf-8')])
return [bytes('<h1> WSGI server return</h1>', encoding='utf-8'), ]
if __name__ == "__main__":
httpd = make_server('localhost', 8033, run_server)
httpd.serve_forever()
1.3 路由分发(路由系统)
正式学习django
创建项目
django-admin.py startproject project_name
settings.py
urls.py
asgi.py/ wsgi.py
manage.py
创建app
cd C:\Users\xscbrick\Documents\study\python\django\study_dango>
python manage.py startapp app_name
# 或者
django-admin.py startapp app_test