静态文件配置
1.你在浏览器中输入网址可以有响应的资源返回给你
是由于后端已经提早给你开设该资源的接口,也就意味着你所能
访问到的资源 都是人家事先定义好的css
2.django如何给用户开设资源接口呢? 在urls.py中 开设路由与视图函数对应关系 3.什么是静态文件 网站所使用的已经提早写好的css文件 js 图片 第三方的类库 通常状况下 咱们都默认将网站所用到的静态文件统一放在一个叫 static文件夹下 该文件夹内部 还能够根据文件类型的不一样划分红不一样的子文件 css文件 js文件 font文件 img文件 第三方模块专门的文件 B F django不会自动帮你建static文件 须要你本身手动建立 4.如何暴露静态文件资源给用户访问 django为了你暴露方便 不须要你本身手动去urls.py中配置 你只须要在settings.py配置便可 STATIC_URL = '/static/' # 访问静态文件资源接口前缀 """ 若是你想访问静态文件资源 你必有以上面的名字开头 你才有访问静态文件资源的权限 一旦你是以接口前缀开头 我会拿着接口前缀后面的文件路径 去下面的列表中从上往下去每个文件夹 找寻是否存在该文件 若是是直接返回 """ # 本身手动配置路径 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static'), # 静态文件 存放在的文件路径 os.path.join(BASE_DIR,'static1'), # 静态文件 存放在的文件路径 os.path.join(BASE_DIR,'static2'), # 静态文件 存放在的文件路径 ] 5.接口前缀动态绑定 html页面上的接口前缀跟你的配置文件中接口前缀动态绑定 在html页面上 固定写句式 {% load static %} <script src='{% static 'Bootstrap/css/min.css' %}'></script> request对象 该对象内部包含了全部请求相关的数据 request.method 获取前端发送的请求方式 GET POST 全大写的字符串类型 携带数据的方式 GET请求携带数据的方式 url?username=jason&password=123 # 只要你的ulr后面符号get请求携带参数的特色 那么不管你发什么请求 你均可以经过request.GET获取数据 request.GET 获取符合GET请求携带数据的方式 你能够把它当作一个大字典 request.GET.get() # 默认只拿value列表中最后一个元素 request.GET.getlist() # 拿value整个列表 request.POST 获取post请求携带过来的数据 你能够把它当作一个大字典 request.POST.get() # 默认只拿value列表中最后一个元素 request.POST.getlist() # 拿value整个列表 pycharm连接数据库 左下方 或者右侧边缘都有链接入口 你只须要注意在第一次链接数据库的时候 须要下载一个数据库的驱动 django连接MySQL django默认自带一个小型的sqlite(对日期格式的数据 不太兼容) 必定要注意是两步 1.在settings文件中配置 DATABASES = { "NAME":... "HOST":... "PORT":... "USER":... "PASSWORD":... "CHARSET":'utf8' } 2.须要在项目名下面的__init__.py或者app下面的__init__.py文件中配置一下 告诉django不要使用默认的mysqldb模块链接数据库 而是使用pymysql import pymysql pymysql.install_as_MySQLdb() django orm简介 对象关系映射 # 注意:django的orm不会自动帮你建立数据库 须要你手动本身建立数据库 # orm只能帮你自动建立表 # 我的建议:针对不一样的django项目 使用不一样的库 不要多个项目公用一个数据库 你要去app下面的models.py中书写模型类 表字段的书写 class User(models.Model): # django orm当你没有指定主键的时候 orm会自动帮你新建一个字段名为id的主键字段 # 可是若是你的主键字段不想叫id 那么你只能手动设置 一旦orm识别到你手动设置了主键 它就再也不自动建立 # id = models.AUTOField(primary_key = True) username = models.CharField(max_length=32) # CharField字段必定要指定max_length参数 password = models.IntegerField() 数据库迁移命令 将在models里面的操做同步到数据库中 python3 manage.py makemigrations # 将数据库操做记录到小本本上 migrations文件夹内 日志功能 该命令不会直接影响数据库 python3 manage.py migrate # 将记录真正的同步到数据库中 """ 只要你动了跟数据库相关的models中的代码 你就必须执行上面的命令 一个都不能少 顺序也不能跌倒 """ 字段的增删改查 增字段的时候 1.给新增的字段设置默认值 2.给新增的字段设置为容许为空 数据的增删改查 查 models.User.objects.all() # 查询全部 models.User.objects.filter(**kwargs) # 条件之间是and的关系 # filter的结果你能够当作是一个列表 支持索引取值和切片操做 可是不支持负数 .first() 增 user_obj = models.User.objects.create(**kwargs) # 该方法有一个返回值 就是当前被建立的对象自己 改 models.User.obejcts.filter(id=1).update(**kwargs) # 批量更新 删 models.User.obejcts.filter(id=1).delete() # 批量删除