当前位置:首页 > 新闻动态 > 网站文章

1、 先自己写一个简单的web框架(代码无需掌握,重点在于理解思路) django框架

来源: 浏览:141 时间:2023-09-17

回忆内容

  • 阻止后续事件发生
  • 第一种(return false)
  • 第二种(e.preventDfault)
    记form表单触发提交动作的按钮
  • 时间冒泡
    • 第一种:return false
    • 第二种:e.preventDfault
  • 事件委托
    #针对标签无论是写好的还是后续动态创建的
    $('#d1').on('click','button',function(){})
  • 页面加载
    # 第一种
  • $(document).redy(function(){})
  • # 第二种
  • $(function(){})
  • # 第三种
  • """body内部下方"""
  • jQuery动画效果
    • show
    • hide
    • slideUp
    • slideDown
    • fadeIn
    • dadeOut
    • fadeTo

需要掌握的

# each()
$('div').each(function(index,obj){return[index,obj]})
$.each($('div',function(index,obj){return[index,obj]})
# data() 临时存放信息的
$('div').data('key','value') # 设置
$('div').removeData('key')

前端框架及插件

# 使用bootstrap
1、布局容器
   container
    container-fluid
2、栅格系统
	row  一行均分12分
    col-md-n  # 占几分
    响应式布局
    col-md-offsed-2 # 移动
pull-right/left   # 浮动
3、表格
  table
    table-hover
    table-bordered
    table-striped
4、form-control
	checkbox和radio不要加
5、按钮(颜色)
  btn btn-primary btn-sm/btn-xs btn-blok(大小)
    	success
        info
        warning
        danger
        default
6.导航跳到的使用拷贝 分页器 面板 模态框
# 以后写拷贝加修改
第三方组件扩展
	图标:fontawesome
    弹出框:sweetalert

内容概要:

  • 先自己写一个简单的web框架(代码无需掌握,重点在于理解思路)
  • django框架
已经学的:前端  数据库
前端要和后端交互再去数据库 后端学不好工作不好找

软件开发架构
cs架构

bs架构

# 本质bs也是cs

手撸web框架

# HTTP协议
"""
HTTP协议 : 数据传输都是明文的(没有加密的)
HTTPS协议: 数据传输是密文的(有加密)
websocket协议 : 数据传输密文的
四大特性
	1、基于请求响应
	2、基于tcp、ip 作用于应用层的协议
	3、无状态
	4、短/无链接
数据格式
	请求首行
	请求头
	
	请求体
	
响应状态码
	1xx
	2xx   200
	3xx
	4xx  403 404
	5xx  500
	
"""
# 如何做到后缀的不同返回不同的内容、
# 拿到用户输入的后缀 做判断
# 纯手撸不足的地方
	1、代码重复
    2、手动处理http格式的数据我们只能拿到url后缀其他数据获取繁琐(数据格式一样处理的的代码其实大致一样 重复写)
    3、并发的问题

借助wsgiref模块

"""
urls.py   路由与视图函数对应关系
views.py  视图函数(后端业务逻辑)
templates  专门用来存储html文件
"""
# 按照功能不同拆分之后 后续添加功能只需要在urls.py书写对应关系然后去views.py书写业务逻辑即可

动静态网页

"""
静态网页:页面上的数据是直接写死的万年不变
动态网页:数据都是实时获取的
	eg:1、后端获取当前时间展示html页面
		2、数据是从数据库获取的展示到html页面 
"""
# 动态装也制作
import datetime
def get_time(env):
    current_time = datetime.datetime.now().strftime('%Y-%m-%d %X')
    # 怎么把后端获取到的数据传递给html文件呢?
    with open(r'templates/03mytime.html', 'r', encoding='utf-8')as f:
        data = f.read()
    data = data.replace('wweerr', current_time)  # 在后端将html页面处理好之后再返回给前端
    return data
-----------------------------------
# 将一个字典传递给html文件 并且可以方便快捷的操作字典数据
from jinja2 import Template
def get_dict(env):
    user_dic = {'username': 'json', 'age': 18,  }
    with open(r'templates/04get_dict.html', 'r', encoding='utf-8')as f:
        data = f.read()
    tmp = Template(data)
    res = tmp.render(user=user_dic)
    # 给get_dict.html传递了一个值,页面上通过变量名user就能够看到user
    return res
# 后端获取数据库中的数据展示到前端页面

模块语法之jinja2模块(和python几乎一样)

pip3 install jinja2
"""模板语法是在后端起作用的"""
{{ user }}
{{ user.get('username')}}
{{ user.age}}
{{ user['hobby']}}

自定义建议版本web框架流程请求图

"""

wgiref模块

1、请求来的时候解析http格式的数据 封装成大字典

2、响应走的时候给数据打包成符合http格式 再返回给浏览器

"""

python三大主流web框架

"""
django
	特点:大而全 自带的功能特别多 类似于大邮轮
	不足之处:
		有时候过于笨重(高射炮打蚊子)
flask
	特点:小而精 自带的功能特别的少 (单兵作战)
	但是第三方的模块特别多,如果将第三方模块加起来完全可以盖过django
	并且越来越像django
	不足之处:
		比较依赖于第三方的开发者
tornado
	特点:异步非阻塞 支持高并发 
		牛逼到甚至可以开发游戏服务器
	不足之处:
		暂时你不会
"""
# web框架可以简单分为三个部分
	A:socket部分
    B: 路由与视图函数对应关系(路由匹配)
    C: 模板语法
# django
	A: 用的别人的   wsgiref模块
    B: 用的自己的
    C:用的自己 (没有jinja2好用 但是也是很方便)
# flask
	A: 用的别人的    werkzeug (内部还是wsgiref模块)
    B: 自己写的
    C:用的别人的(jinja2)
# tornado
	A: B:C:都都是自己写的

注意事项

# 如何让你的计算机正常启动django项目
	1、计算机的名称不能有中文
    2、一个pycharm窗口只能开一个项目
    3、项目名所有的文件不要有中文
    4、python解释器尽量使用3.4-3.6之间的版本
    	如果你的项目报错 你点击最后一个报错信息去源码中把逗号删掉
# django版本问题
	1.x(使用居多) 2.x(使用居多) 3.x(直接忽略)
    公司之前用的1.8 慢慢过渡到了1.11版本 有一些项目也用2.0
# django安装
pip3 install django==1.11.11
    验证是否安装成功方式
    	1、输入django-admin 看看有没有反应

django基本操作

# 命令行操作
# 1、创建django项目
	django-admin startproject 项目名(mysite)
    2、就会生成一个项目名的文件夹(mysite)
    	里边还有 1、manage.py
        		2、mysite
            	3、__init__.py
                4、settings.py
                5、urls.py
                6、wsgi.py
    3、启动django项目
    """
    一定要先切换到项目的目录下
	cd/mysite
    """
    python3 manage.py runserver
    python3 manage.py startapp app01
        应用名应该做到见名知意
            比如:user
                order
                web
            但是我们用app01/02/03/04.....
    里边有很多文件
# pycharm操作
  #1、 new project 选择左侧第二个 django 即可
# 2、启动 、
	1、还是用命令行启动  
	2、点击绿色小箭头即可
# 创建应用
	1、pycharm 提供的终端 直接输入完整命令即可(最下边Terminal)
    2、tools--->Run manage.py......(startapp app01)
# 改端口号
	上边长条框里----> Edit Configurations(仔细看里边又加减号创建server)

应用

"""
django 是一款专门用来开发app的web框架
django 框架就类似于是一所大学(空壳子)
app就类似于大学里面的各个学院(具体功能的app)
	比如开发淘宝
		订单相关
		用户相关
		投诉相关
		创建不同的app对应不同的功能
	选课系统
		学生功能
		老师功能
一个app就是一个独立的模块
"""

一定要记住(去注册;创建可以带上一个)

主要文件介绍

命令行与pycharm创建的区别

# 1、命令行创建不会自动有templatew文件夹 需要你手动创建而pycharm会自动创建并且还会自动在配置文件中配置对应的路径

django小白必会三板斧

"""
HTTPResponse
	主要是返回字符串的
renser
	主要是返回html文件的
redirect
	重定向 
"""

地址 · ADDRESS

地址:建邺区新城科技园嘉陵江东街18号2层

邮箱:309474043@qq.Com

点击查看更多案例

联系 · CALL TEL

400-8793-956

售后专线:025-65016872

业务QQ:309474043    售后QQ:1850555641

©南京安优网络科技有限公司 版权所有   苏ICP备12071769号-4  网站地图