首页 > 代码库 > Python/Web(一)
Python/Web(一)
Python/Web(一)
websocket
webSocket协议是基于TCP的一种新的协议。WebSocket最初在HTML规范中被引用为TCP连接,作为基于TCP的套接字API的占位符,它实现了浏览器与服务器全双工(full-duplex)通信。基本质是保持TCP连接,在浏览器和服务端通过 Socket进行通信
自己开发Web框架(任何访问浏览器都是基于socket)
用到的知识共有(
1、socket通讯
2、HTTP协议
3、HTML知识
4、数据库(连接数据pymysql、SQLAlchemy))
python编写的socket服务端
1 import socket 2 sk=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 3 sk.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) 4 sk.bind((‘127.0.0.1‘,8080)) 5 sk.listen(5) 6 while True: 7 conn,addr=sk.accept() 8 data=http://www.mamicode.com/conn.recv(1024) 9 conn.send(b‘111111‘) 10 conn.close()
启动socket服务器后,等待用户通过浏览器(socket客户端)连接,然后收发数据。
a、socket服务端
b、根据URL不同返回不同的内容(路由系统:URL- >函数)
c、字符串返回给用户(模板引擎渲染)
HTML充当模板(特殊字符)
自己创造任意数据
WEB框架种类:
Torado ------------>a,b,c
wsgirref------------>Django [第三方a],b,c
flask---------------->第三方[a],b[第三方c]------>flask
Django框架
pip3 install django 安装django模块
创建Django程序
1 django-admin startprobject mysite
进入程序目录
1 cd mysite
启动socket服务端,等待用发送请求
1 python manage.py runserver 127.0.0.1:8080 2 如果不指定ip和端口 3 例如: 4 python manage.py runserver 5 得到ip是127.0.0.1:8000
Django程序目录:
1 mysite 2 3 -mysite 4 5 -settings.py Django配置文件 6 -url.py 路由系统: url<----->函数 7 -wsgi.py 用于定义Django用socket,wsgiref,(uwsgi)性能高 8 9 对当前Django程序所有操作可以基于 python manage.py runserver (manage.py)
在pycharm中创建一个Django文件,其中一定要包含目有
其中static文件夹是存放静态css文件,图片等文件
template文件夹存放html模板
untitled1文件夹存放 settings.py Django配置文件
url.py 路由系统: url<----->函数
wsgi.py 第三方socket
urls.py写要执行的url和相应的函数
1 from django.conf.urls import url 从django中导入url 2 from django.contrib import admin 从django中导入admin 3 from django.shortcuts import HttpResponse,render 从django中到导入HttpResponse,render 俩种返回给用户形式 4 def login(request): 定义以url 相应的函数 5 # return HttpResponse(‘<input type="text">‘) 6 给用户返回一个字符串类型(标签或在页面中通过浏览器渲染出来) 7 return render(request,‘login.html‘) 8 给用户返回一个渲染的模板和内容 9 urlpatterns = [ 10 # url(r‘^admin/‘, admin.site.urls), 11 url(r‘^login/‘, login), 12 ] 13 url设置url和要执行的函数相对应的关系
在settings.py文件中找到TEMPLATES中找到DIRS对应的值,列表中第一个是执行的路径(BASE_DIR)指得是untitled1 E:\untitled1文件
后边的是存放html的文件夹
template文件下创建的html模板
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <link rel="stylesheet" href=http://www.mamicode.com/"/static/static.css"/> 7 </head> 8 <body> 9 <h1>登录页面</h1> 10 <input type="text" name="username"> 11 <input type="password" name="password"> 12 <input type="submit" value=http://www.mamicode.com/"登录"> 13 </body> 14 </html>
代码上能看到我导入一个css样式文件,在自己写的模板中是可以进行样式渲染的但是需要注意的是,如果有css样式渲染要在settings.py中进行设置
如上图,打开settings .py文件一直向下滑,能看到STAIC——URLA在这下边需要添加自己创建存放css的文件,添加格式如下:
1 STATICFILES_DIRS=( 2 os.path.join(BASE_DIR,‘static‘), 前边是拼接的路径,后面是存放css样式的文件夹 3 )
另外需要设置一个其他设置在settings文件中找到MIDDLEWARE中的‘django.middleware.csrf.CsrfViewMiddleware‘,进行注释
Python/Web(一)