第四章 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名称