一 静态文件的配置
我们将html文件默认都放在templates文件夹下
我们将网站所使用的静态文件默认都放在static文件夹下
django默认是不会自动帮你创建static文件夹 需要你自己手动创建
1.1 如何设置静态文件的接口
在浏览器中输入url能够看到对应的资源是因为后端提前开设了该资源的接口,如果访问不到资源说明后端没有开设该资源的接口
如访问静态文件http://127.0.0.1:8000/static/bootstrap-3.3.7-dist/css/bootstrap.min.css会报403
访问令牌
在配置文件中STATIC_URL = '/static/' 类似于访问静态文件的令牌
如果你想要访问静态文件 你就必须以static开头
如:/static/bootstrap-3.3.7-dist/js/bootstrap.min.js 这里的/static/指的不是文件的路径地址而是访问令牌
在setting.py文件的最下方写入静态文件的配置
STATICFILES_DIRS=[
os.path.join(BASE_DIR,'static'),
os.path.join(BASE_DIR,'static1'),
os.path.join(BASE_DIR,'static2'),
]
当令牌正确时会去列表里面从上往下依次查找bootstrap-3.3.7-dist/js/bootstrap.min.js都没有才会报错
1.2静态文件动态解析
在前端页面导入静态文件时为了能正常访问都要有正确的访问令牌,但是访问令牌是可以修改的,一但令牌修改那么前端所有页面都要进行修改会带来很大的不便
解决方法:将动态文件的导入改成下列方式即可
{% load static %}
1.3 form表单提交
form表单默认是get请求数据:get请求会把数据都放入到url当中
如:http://127.0.0.1:8000/login/?username=jason&password=123
form表单action参数
1.不写 默认朝当前所在的url提交数据
2.全写 指名道姓
3.只写后缀 /login/
在前期我们使用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 #返回请求方式 并且是全大写的字符串形式
request.POST #获取用户post请求提交的普通数据不包含文件
request.POST.get() #只获取列表最后一个元素
request.POST.getlist() #直接将列表取出
request.GET #获取用户提交的get请求数据
request.GET.get() #只获取列表最后一个元素
request.GET.getlist() #直接将列表取出
"""get请求携带的数据是有大小限制的 大概好像只有4KB左右
而post请求则没有限制"""
三 pycharm链接数据库(MySQL)
第一步:
点击
第二部:
点击
第三部:
点击 ‘+’号选择mysql
第四部:在跳出页面的左下角点击Dowmload
第五部:
填入信息
第六部:
点击Test Connection 显示成功即可保存
四 django链接数据库(MySQL)
#默认用的是sqkite3
DATABASES ={'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}#django链接MySQL
1.第一步配置文件中配置
DATABASES={'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'day60','USER':'root','PASSWORD':'admin123','HOST':'127.0.0.1','PORT':3306,'CHARSET':'utf8'}
}2.代码声明
django默认用的是mysqldb模块链接MySQL
但是该模块的兼容性不好 需要手动改为用pymysql链接
你需要告诉django不要用默认的mysqldb还是用pymysql#在项目名下的init或者任意的应用名下的init文件中书写以下代码都可以
importpymysql
pymysql.install_as_MySQLdb()