一:静态文件配置

1.静态文件配置
我们将html文件默认都放在templates文件夹下
我们将网站所使用的静态文件默认都放在static文件夹下
2.什么是静态文件?
前端已经写好了的,能够直接调用使用的文件,不会自动动态改变的文件资源,比如我们写好的css文件、js文件、图片文件、第三方框架文件,我们默认将所有的静态文件都放在一个static文件夹内
3.静态文件的创建
django默认是不会自动帮你创建static文件夹 需要你自己手动创建
一般情况下我们在static文件夹内还会做进一步的划分处理
static
├─ bootstrap 前端已经写好了的能够直接调用的文件
├─ js 写好的js文件
├─ css 写好的css文件
├─ img 用到的img文件
└─ 其他第三方文件资源

在浏览器中输入url能够看到对应的资源,是因为开发者早已提前在后端开设了该资源的访问接口,如果访问不到资源,说明后端没有开设该资源的接口
http://127.0.0.1:8000/static/bootstrap-3.3.7-dist/css/bootstrap.min.css

4.解决使用django后端代码修改前端不显示(缓存问题)
当你在写django项目的时候 可能会出现后端代码修改了但是前端页面没有变化的情况

1.你在同一个端口开了好几个django项目
一直在跑的其实是第一个django项目 2.浏览器缓存的问题(解决缓存问题)
settings
network
disable cache 勾选上
勾上后,右键点击加检查,浏览器就不会使用缓存,清除缓存问题。

5.settings.py 静态文件配置
# 静态文件配置
如果想要访问静态文件就必须以规定的static开头(如修改前缀 牵一发而动全身)
STATIC_URL = '/static/' # 接口前缀 类似于访问静态文件的令牌 解析:
<script src="/static/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script> /static/ # 接口的前缀 令牌
bootstrap-3.3.7-dist/js/bootstrap.min.js # 后面的就是路径
前缀作用:
书写了接口的前缀之后 就拥有了访问下列列表中所有文件夹内部资源的权限
然后会从上往下的顺序在列表里面依次查找 直到拿到路径返回给页面
都没有才会报错。 # 静态文件配置
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static'), #这个static就是真正的静态文件夹路径
os.path.join(BASE_DIR,'static1'),
os.path.join(BASE_DIR,'static2'),
]
6.静态文接口前缀件动态解析
作用:
能够动态实时解析STATIC_URL = 的值数据,方便修改STATIC_URL的接口前缀 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
{#类似于导模块#}
{% load static %}
<link rel="stylesheet" href="{% static 'bootstrap-3.4.1-dist/css/bootstrap.min.css' %}">
<script src="{% static 'bootstrap-3.4.1-dist/js/bootstrap.min.js' %}"></script>
</head>
<body>
</body>
</html>

二:form表单知识回顾

1.from表单默认请求与action参数
form表单默认使用的是get请求数据
form表单action参数:控制后端提交的路径 http://127.0.0.1:8000/login/?username=jason&password=123 eg : ?号后面的参数是不参与路径匹配的
form表单action参数
  • 1.不写 默认朝当前所在的url(网页地址)提交数据
  • 2.全写 指名道姓 https://www.baidu.com
  • 3.只写后缀 /login/
form表单method参数:
默认是get请求,可以改成post请求因为有用户敏感信息。
2.使用django提交post请求的时候 需要取配置文件中注释掉一行代码
# 在前期我们使用django提交post请求的时候 需要取配置文件中注释掉一行代码
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

三:request对象方法初识

request.method # <class 'str'>
返回请求方式STOP/GTE 并且是全大写的字符串形式 request.POST # 直接看成是字典即可
获取用户post请求提交的普通数据不包含文件 request.POST.get() # 只获取列表最后一个元素
request.POST.getlist() # 直接将列表取出 request.GET # 直接看成是字典即可
获取用户提交的get请求数据
request.GET.get() # 只获取列表最后一个元素
request.GET.getlist() # 直接将列表取出

四:get请求与post请求区别

1.get请求与post请求区别
get请求与post请求区别
get请求:
1.get请求没有请求体
2.get请求携带的数据是有大小限制的 大概好像只有4KB左右
3.不安全 post请求:
1.post请求有请求体
2.而post请求则没有限制
3.安全 form表单如果需要携带文件数据 那么要添加参数
<form action="" method="post">
2.MySQL前端django可能出现的安全问题
MySQL中可能会出现的安全问题:SQL注入
前端当中可能会出现的安全问题:xss攻击
django中会出现的安全问题:csrf跨站请求

五:视图函数书写格式

from django.shortcuts import render, HttpResponse

def login(request):
# 返回一个登录界面
"""
get请求和post请求应该有不同的处理机制
:param request: 返回请求方式 并且是全大写的字符串形式
:return:
"""
# 方式一:
# 返回请求方式POST/GTE 并且是全大写的字符串形式
print(type( request.method))
if request.method == 'GET':
# 返回html页面文件
return render(request,'login.html')
elif request.method == 'POST':
# 返回字符串
return Httpresponse("收到了宝贝") # 方式二(标准书写格式 (层级精简推荐))
# 判断提交是POST还是GET
if request.method == 'POST':
# POST返回字符串
return Httpresponse("收到了 baby")
# GET返回html页面文件
return render(request,'login.html')

Django静态文件配置(from表单-request对象方法-get请求与post请求-视图函数书写)的更多相关文章

  1. Django静态文件配置-request方法-ORM简介-字段的增删改查

    app的创建注意事项: 在Django新创建的app要在seetings.py中添加注册,才会生效 创建app:django-adminapp an startapp app名称 或者 python3 ...

  2. Django 静态文件配置(static files)

    Django version: 1.9 Python versrion: 3.5.2 这几天Django配置静态文件(本例是要加载index.css), 总是不对,最后终于试对了,这里记录下,方便以后 ...

  3. 55 Django静态文件配置

    一.Django静态文件配置 1.项目文件夹,新建一个文件夹statics 文件夹 2.在配置文件settings.py中,配置: 文件中有第句: STATIC_URL = '/static/'#静态 ...

  4. Django静态文件配置、form表单、request对象、连接数据库、ORM

    目录 静态文件配置 静态文件相关配置 1.接口前缀 浏览器停用缓存 2.接口前缀动态匹配 form表单 action 控制数据提交的地址 method 控制数据提交的方法 请求方法补充 get: 朝服 ...

  5. Django静态文件配置 request对象 Django操作MySQL

    Django中的文件介绍 render.HttpResponse和redirect 当我们想起手写一个项目,创建好应用并且注册之后,在urls.py文件先导入app文件夹下migrations下的vi ...

  6. django静态文件配置

    开发环境配置 需要下面几个步骤 1. 在app目录下创建static目录,将静态文件和相关文件夹放到此目录下,如your_app/static/img等 2. 确保settings.py中的INSTA ...

  7. Django 静态文件配置 (Nginx)

    初学Django,在访问静态文件时候遇到很多误区,一直配置不成功,在此记录一下. Django静态文件访问分为两种:一种是Debug模式下,测试开发网站时对静态文件的访问,一种是实际生产环境中对静态文 ...

  8. Django——静态文件配置

    本文目的 最近用django开发项目,发现django的静态文件(js,css和img等)配置比较麻烦,开发环境和生产环境的配置还不一样,这里记录一下,作为备忘.我当前使用的版本是django v1. ...

  9. django 静态文件配置

    配置静态文件 在settings.py中尾部添加一下内容 STATICFILES_DIRS = [ #路径 BASE_DIR:项目文件根目录 os.path.join(BASE_DIR,'static ...

随机推荐

  1. 等保审核 --- MySQL密码复杂度--和连接错误超时等

    系统版本: Centos 7 MySQL版本: 5.7.19 架构: 主从架构 审计插件: validate_password.so(数据库自带5.6后版本都拥有此插件) 操作过程: 1). 安装va ...

  2. [算法2-数组与字符串的查找与匹配] (.NET源码学习)

    [算法2-数组与字符串的查找与匹配] (.NET源码学习) 关键词:1. 数组查找(算法)   2. 字符串查找(算法)   3. C#中的String(源码)   4. 特性Attribute 与内 ...

  3. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(26)-Fiddler如何抓取Android7.0以上的Https包-上篇

    1.简介 众所周知,假如设备是android 7.0+的系统同时应用设置targetSdkVersion >= 24的话,那么应用默认是不信任安装的Fiddler用户证书的,所以你就没法抓到应用 ...

  4. bilibili弹幕爬虫

    import random import requests import jieba import numpy as np from lxml import etree class SpiderBil ...

  5. ARC148游记

    A - mod M 题目链接 这道题我们可以首先对于所有的数 $%2$ ,可以证明出答案最多不超过 $2$ ,此时我们就可以把问题转化为:是否存在一个数使得序列 $a$ 中所有元素减去这个数之后的最大 ...

  6. vue2.x核心源码深入浅出,我还是去看源码了

    平常的工作就是以vue2.x进行开发,因为我是个实用主义者,以前我就一直觉得,你既然选择了这个框架开发你首先就要先弄懂这玩意怎么用,也就是先熟悉vue语法和各种api,而不是去纠结实现它的原理是什么. ...

  7. POJ1985 Cow Marathon (树的直径)

    用两次dfs求出树的直径,这两次dfs可以写在一起,当然为了方便理解,这里是分开写的. 1 //两次dfs求树的重心 2 #include<cstdio> 3 #include<cs ...

  8. 记一次 .NET 某工控视觉软件 非托管泄漏分析

    一:背景 1.讲故事 最近分享了好几篇关于 非托管内存泄漏 的文章,有时候就是这么神奇,来求助的都是这类型的dump,一饮一啄,莫非前定.让我被迫加深对 NT堆, 页堆 的理解,这一篇就给大家再带来一 ...

  9. CompareTest

    一.说明:Java中的对象,正常情况下,只能进行比较:== 或 != .不能使用 > 或 < 的 但是在开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的大小. 如何实现? ...

  10. Python学习笔记----列表、元组和字典的基础操作

    文章目录 一.列表的基本操作 1.1 修改列表中的某个数据 1.2 获取某个元素的返回值(返回的是索引) 1.3 在列表中插入新的元素 1.4 删除列表中的元素 1.5 +和* 二.内置的函数和方法 ...