Django Rest Framework
Web应用开发模式 前后端分离 通俗地讲, 其实判定很简单:如果前端和后端这两个角色, 只通过API 文档就能进行数据交流,就说明他们的逻辑是分离的。我们可以称之为 “前后端代码分离”。 如果除了 API 文档之外还需要各种其他的数据交流方式,比如后端把数据藏在一个 div 的属性里,那么就不是前后端分离的。像各种框架里的模板引擎和渲染功能。 至于所谓的 “最佳实践”...
Python 进程/线程/协程/异步编程
前置基础 什么是GIL? 进程 线程 协程 非协程实例 首先来看非协程的代码实例 t1 = time.time() def func1(): print("当前执行function 1") time.sleep(1) # 当程序出现了同步操作的时候. 异步就中断了 print("当前执行function 1") def func2(): print("当前执行function 2") time.sleep(2) print("当前执行function 2") ...
Python 符号用法总结
下划线 单下划线 _ 函数名称前单下划线 def _add(): ... return 是一种私有函数的命名约定,即提示程序员该函数只能在类或者该文件内部使用,但实际上也可以在外部使用。 _xxx 单下划线 protected 类型变量 只允许其本身与子类进行访问 也不能使用from xxx import * 的方式导入 xxx_ 单下划线 避免名称与关键字冲突 星号*
Python环境问题记录
Django 安装django pip install django 创建django项目 django-admin startproject projectname 启动django项目 python manage.py startapp app_name 注册app INSTALLED_APPS = { 'app01.apps.App01Config' } 配置静态文件和模板路径 配置数据库 创建数据库 安装数据库连接模块 pip install mysqlclient ...
Django – 前端提交数据, 后端接收并入库简例 (ModelForm)
models.py class Boss(models.Model): name = models.CharField(verbose_name="姓名", max_length=64) age = models.IntegerField(verbose_name="年龄") img = models.CharField(verbose_name="头像", max_length=256) 这种写法需要在view_name.py文件中去处处理 待保存文件的路径问题, 并调用create方法. media_file_path = os.path.join("media...
Django – 前端提交数据, 后端接收并入库简例 (Form)
view class UpForm(BootStrapForm): 封装了bootstrap的Form组件的类, 让表单快速获得bootstrap的样式 bootstrap_exclude_fields = ['img'] # 在BootStrapForm中,排除img表单的样式 name = forms.CharField(label="姓名") age = forms.IntegerField(label="年龄") img = forms.FileField(label="头像") def upload_form(request): title = "表格上传"...