手写django框架
1.写服务端
import datetime
import socket
#往网页内添加内容
#方式1
def index():#读取网页with open(r'D:\untitled\python2\7.9\login.html',"r" ,encoding='utf-8')as rb:date=rb.read(2048)tim = datetime.datetime.now()#替换网页内的####标签date=date.replace("####", str(tim))return date#方式2
def login():import pymysql#导入数据库conn=pymysql.connect(host='127.0.0.1',user='root',password='xzc123456',db='pycharm',charset='utf8')#把查出的的数据以json的格式显示cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)#查询数据库sql='select * from class'#执行语句cursor.execute(sql)#获取查询的内容res=cursor.fetchall()#获取网页with open(r'D:\untitled\python2\7.9\login.html','r' ,encoding='utf-8') as rp:date=rp.read()#导入渲染模板from jinja2 import Template#获取模板template=Template(date)#准备数据data=template.render(users=res)return data#路由器
webpage=[('index',index),('login',login),]def run() sk=socket.socket()sk.bind(('127.0.0.1',5656))sk.listen()while True:conn, addr=sk.accept()# date=conn.recv(2048 * 3)date=conn.recv(2048*3)#对请求进行分割index=str(date).split(' ')[1].split('/')[1]conn.send(bytes('HTTP/1.1 200 ok \r\n\r\n', encoding='utf-8'))print(index)func=None#分发请求for item in webpage:if index==item[0]:func=item[1]breakif func:res=func()else:res="404 not found"#以二进制的方式发送数据conn.send(bytes(res, encoding='utf-8'))conn.close()
2.配置django1.10
1)注解MIDDLEWARE 内的一个路劲
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',
]
2)建立项目后往sttings.py文件内结尾添加
STATICFILES_DIORS=(os.path.join(BASE_DIR,'static'),
)
添加好后可以在项目内建立static模块,用来存放前端css,js等文件
转载于:https://www.cnblogs.com/xzcvblogs/p/11160348.html
手写django框架相关推荐
- 【Java ORM】手写ORM框架:源代码、jar、生成JavaDoc文档
SORMSourceCode 把这个手写框架取名为SORM. (1)源代码(Eclipse项目文件):GitHub地址 (2)jar包.源代码.JavaDoc文档.使用说明:Github地址 一个简单 ...
- 手写篇:如何手写RPC框架?
手写篇:如何手写RPC框架? 首先我们讲下什么是RPC? RPC(Remote Procedure Call)远程过程调用协议,他是一种通过网络从远程计算机程序请求服务.简单的来说,就是通过网络进行远 ...
- 手写ORM框架----(数据库单表CRUD万能框架)
目录 一.准备 1.1 ORM介绍 1.2 准备工作 二.手写ORM的CRUD 2.1 数据库准备 2.2 所需注解 2.3 实体类student 2.4 CRUD 2.4.1 添加功能 2.4.2 ...
- MyRPCDemo netty+jdk动态代理+反射+序列化,反序列化手写rpc框架
RPC RPC(remote procedure call)远程过程调用 RPC是为了在分布式应用中,两台主机的Java进程进行通信,当A主机调用B主机的方法时,过程简洁,就像是调用自己进程里的方法一 ...
- Marco's Java【Dubbo 之手写Dubbo框架实现远程调用】
前言 关于Dubbo入门的网上教程也特别多,因此我没有专门出关于Dubbo的系列博文(主要呢- 也是在忙些工作上的事儿),用Dubbo特别简单,但是想要把Dubbo学好,学精还得花费不少时间的,特别是 ...
- Golang之手写web框架
Go手写Web框架 1.1 标准启动方式 通过定义接口,使用 net/http 库封装基础的功能,通过自定义函数的方式可以自定义 StandardStart.go // Handler 用于实现处理器 ...
- 视频教程-手写Java框架系列教程之一反射(含配套资料)-Java
手写Java框架系列教程之一反射(含配套资料) 张长志技术全才.擅长领域:区块链.大数据.Java等.10余年软件研发及企业培训经验,曾为多家大型企业提供企业内训如中石化,中国联通,中国移动等知名企业 ...
- 转载:手写SpringMVC框架
带你手写一个SpringMVC框架(有助于理解springMVC) 链接:https://my.oschina.net/liughDevelop 作者:我叫刘半仙 Spring框架对于Java后端程序 ...
- 第四篇 - 手写RPC框架
Github源码下载地址:https://github.com/chenxingxing6/myrpc 一.前言 RPC(Remote Procedure Call)-远程过程调用,它是一种通过网络从 ...
最新文章
- Android游戏开发指南一背景地图
- python 树状图可视化_Python可视化25|seaborn矩阵图
- Jmock 原理简单说明
- sharepointa嵌入HTML网页,显示存储在SharePoint文档文件夹中的HTML页面
- 了解ADF Faces clientComponent属性
- linux 配置 mysql_linux下mysql配置文件my.cnf最详细解释
- 手机连接电脑wifi
- 删除oracle 连接进程,如何查看和清除oracle无用的连接进程
- 互联网行业不需要中年人,那些35岁离开BAT的人都去哪了?
- OpenCV2 图像处理与计算机视觉(一)—— 去除一幅二值化图像中的椒盐噪声
- 在haoodp-2.7.3 HA的基础上安装Hbase HA
- C语言例题——简易秒表
- 测试睡眠的软件是,MOORING睡眠检测
- 基于zookeeper的统一命名服务及实现
- FA-PEG-SH 叶酸PEG巯基
- 深耕物料处理赛道,宏工科技助力涂料绿色自动化生产
- 思科路由器、交换机的远程登录配置
- LeetCode - 1217 - 玩筹码(play-with-chips)
- Containerd高级命令行工具nerdctl安装及使用
- Endnote中文参考文献格式
热门文章
- python镜像网址
- 【岗位更多了】蚂蚁金服云原生团队招聘~欢迎加入我们
- Codeforces Round 883 (Div. 3)
- 国产扫地机器人十大排名
- codevs 3287 货车运输
- 1.7. 高斯过程(Gaussian Processes)
- HDOJ 1811 Rank of Tetris
- MySQL数据库——查询语句SELECT的学习总结,2W字超详细总结,值得收藏
- 【ArcGIS】使用ArcMap进行北京1954-120E坐标转WGS84坐标系
- 《ZHU, MAI, SHAO: SINGLE IMAGE DEHAZING USING COLOR ATTENUATION PRIOR》关于此文的理解与实现