第四章 Django中各文件的设置

Posted xu1296634150

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四章 Django中各文件的设置相关的知识,希望对你有一定的参考价值。

django处理请求流程

  1. 浏览器地址输入url,发送get请求

  2. wsgi服务器接受到请求

  3. 根据url路径找到对应的函数

  4. 执行函数,返回响应给wsgi按照http协议格式返回浏览器

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 简单使用

1. form中的元素(5)

  • 可以建立多个static文件夹

  • 如果静态资源有重名的文件,则按照静态文件夹路径中的列表顺序(一旦找到即停止)

  1. input中可以使用autofocus,即请求页面自动聚焦

  2. form表单提交使用:action和method=‘post‘

  3. 所有的input框需要name属性,使用sumbit或button

  4. 提交post请求,把settings中的MIDDLEWARE:csrfvirew注释掉即可,即禁用csrf校验

  5. 下拉框中的option选项,可以通过name获得指定的value值,option后的内容只是给用户展示

2. 提交表单中的方法

  1. 获取请求方式:request.method(GET/POST)

  2. form表单中的数据:request.POST querydict对像,可以使用dict方式取值,可以使用get方法

  3. 导入django中的redirect

  4. /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

    1. 获取数据,传递参数(在url中)

    2. 提交数据暴露在url中

    3. django获取参数

      • request.GET.get(‘username‘)

  • post

    1. 数据是隐藏的(在请求体中)

    2. request.POST

2. app

  • 把功能进行划分

2.1 命令行

1. 创建app

python manage.py startapp app1
# 放置迁移文件
migrations
# django提供后台管理,对数据库表结构进行增删改查
admin.py
# 和ORM相关
models.py
# 测试文件
test.py
# 视图,函数位置
views.py

2. 注册app

# 在settings中的installed_apps
直接添加app名称
# 推荐使用,执行类
或app01.apps.App01Config

2.2 pycharm

  • 创建Django项目时,可以添加app(和templates一同),pycharm创建并注册

# 创建
tools --> runmanage.py task --> 
startapp app02(名称)
# 注册,修改settings中的INSTALLED_APPS
INSTALLED_APPS = [
    ...
    app01,
    app01.apps.App01Config,  # 推荐写法
]
# 重复注册会报错

2.3 注意事项

  1. app更名需要同步到数据库中

  2. 有关app名称里面的模块导入时,也需要更改为响应的app名称

以上是关于第四章 Django中各文件的设置的主要内容,如果未能解决你的问题,请参考以下文章

Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段

Django 2021年最新版教程2Django项目目录结构中各文件的作用

如何在 Django Summernote 中显示编程片段的代码块?

Django 第四篇

django系列13 - 部署代码到linux上

如何在扩展另一个文件的 django 模板中使用带有动态内容的 html 块片段?