第四章 Django中各文件的设置
时间:2020-05-12
本文章向大家介绍第四章 Django中各文件的设置,主要包括第四章 Django中各文件的设置使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
django处理请求流程
-
浏览器地址输入url,发送get请求
-
wsgi服务器接受到请求
-
根据url路径找到对应的函数
-
1. 静态文件
1.1 静态文件配置流程
-
配置
# 配置静态文件夹路径 STATIC_URL='/staic/' STATICFILES_DIRS=[ os.path.join(BASE_DIR, 'static'), os.path.join(BASE_DIR, 'static1'), os.path.join(BASE_DIR, 'static2'), ] # 创建一个static文件夹,存放静态文件 css,js和img文件夹,plugins文件夹 # static是STATIC_URL='/staic/'中的static <link rel='stylesheet' href='/static/css/xxx.css'></link>
1.2 简单使用
-
可以建立多个static文件夹
-
如果静态资源有重名的文件,则按照静态文件夹路径中的列表顺序(一旦找到即停止)
-
input中可以使用autofocus,即请求页面自动聚焦
-
form表单提交使用:action和method='post'
-
所有的input框需要name属性,使用sumbit或button
-
提交post请求,把settings中的MIDDLEWARE:csrfvirew注释掉即可,即禁用csrf校验
-
下拉框中的option选项,可以通过name获得指定的value值,option后的内容只是给用户展示
2. 提交表单中的方法
-
获取请求方式:request.method(GET/POST)
-
form表单中的数据:request.POST querydict对像,可以使用dict方式取值,可以使用get方法
-
导入django中的redirect
-
/index/第一个/是根目录,如果没有根目录,则进行路径拼接.
-
响应头:Location。/index/
-
# 在view.py文件中处理请求数据,如认证操作 def login(request): if request.method == 'POST': # 获取用户名和密码,form表单中数据 username = request.POST['username'] # username = request.POST.get('username', '用户不存在') pwd = request.POST['pwd'] # 重定向,返回一个网址,或当前网站资源的路径 return redirect('/index/')
3. get和post
-
get
-
获取数据,传递参数(在url中)
-
-
django获取参数
-
request.GET.get('username')
-
-
-
post
-
数据是隐藏的(在请求体中)
-
request.POST
-
-
把功能进行划分
2.1 命令行
1. 创建app
python manage.py startapp app1 # 放置迁移文件 migrations # django提供后台管理,对数据库表结构进行增删改查 admin.py # 和ORM相关 models.py # 测试文件 test.py # 视图,函数位置 views.py
# 在settings中的installed_apps 直接添加app名称 # 推荐使用,执行类 或app01.apps.App01Config
-
创建Django项目时,可以添加app(和templates一同),pycharm创建并注册
# 创建 tools --> runmanage.py task --> startapp app02(名称)
# 注册,修改settings中的INSTALLED_APPS INSTALLED_APPS = [ ... 'app01', 'app01.apps.App01Config', # 推荐写法 ] # 重复注册会报错
-
app更名需要同步到数据库中
-
有关app名称里面的模块导入时,也需要更改为响应的app名称
原文地址:https://www.cnblogs.com/xu1296634150/p/12876904.html
- Nicholas Christakis:朋友多是由基因决定的?
- WPF中的MatrixTransform
- kvm虚拟化管理平台WebVirtMgr部署-虚拟化环境安装-完整记录(0)
- ruby学习笔记(3)--语法层面的先见之明
- jQuery操作Select
- ruby学习笔记(11)--symbol与hash参数
- zabbix监控-基本原理介绍
- OpenStack构架知识梳理
- mysql操作命令梳理(4)-grant授权和revoke回收权限
- 问未来
- ruby on rails + mysql 开发环境搭建
- CentOS 7.2下安装Mono 5.0
- ROR学习笔记(1):Rails 2快速创建GRUD应用
- API网关Ocelot 使用Polly 处理部分失败问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- linux的最大打开文件数限制修改方法
- Shell中如何删除文本比较长的行的实现方法
- apache 开启重定向 rewrite的实现方法
- CentOS 7搭建Linux GPU服务器的教程
- 简单谈谈Linux内核定时器
- Ubuntu cron日志开启与查看的实现步骤
- 详解Apache配置多个监听端口和不同的网站目录
- CentOS7服务器中apache、php7以及mysql5.7的安装配置代码
- Ubuntu中静态DNS配置的方法详解
- shiro缓存机实例代码
- Linux deepin 删除多余内核的实现方法
- linux烧写、配置、搭建Edison环境
- 详解使用 split 命令分割 Linux 文件
- 在博客后台为内容模块实现增删改查功能
- 解决Debian系统自动更新软件包的问题的方法