静态文件
对于前段已经写好了的文件 我们只是拿过来使用 那么这些文件都可以称之为叫"静态文件"
静态文件可以是
bootstrap一类的前段框架 已经写好了的
图片
css
js
静态文件默认全都放在static文件夹下
static文件夹中默认会默认创建的子文件夹
css文件夹 当前网站所有的样式文件
js文件 当前网站所有的js文件
img文件 当前网站所有的图片文件
其他(前端框架代码 第三方插件代码...)
静态文件配置
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static')
]
你只要输入static文件夹内具体文件的路径就能够访问到
动态解析
静态文件接口前缀"动态解析"
{% load static %}
<link rel="stylesheet" href="{% static 'bootstrap-3.3.7-dist/css/bootstrap.min.css' %}">
<script src="{% static 'bootstrap-3.3.7-dist/js/bootstrap.min.js' %}"></script>
form表单
默认是get请求,触发提交数据的动作两种方式
button
input type=submit
get: 携带数据的方式是url问好后跟数据http://127.0.0.1:8000/login/?username=zekai&password=123
ps:改成post请求之后,若不在form表单位置加{% csrf_token %} 需要去settings文件中注释掉一个中间件
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',
]
form表单提交数据目的地由action
- 不写的情况下 默认往当前地址提交
- 还可以写后缀/index/(将项目常用这种)
- 还可以写全路径
Resquest
GET请求
视图函数一般主要会先处理get请求
默认为一个字典取key,如果value一个列表 那默认只取列表最后一个元素
request.POST.get
直接把列表全部取出(******)
request.POST.getlist
ps: 获取value列表里面所有的元素需要使用getlist 应用场景:用户的爱好 多选框
django连接数据库
1.需要修改配置文件
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'day54',
'HOST':'127.0.0.1',
'PORT':3306,
'USER':'root',
'PASSWORD':'123'
}
}
2.告诉django用pymysql替换它默认mysqldb模块连接数据库
方式1:在你的项目文件夹下面的__init__.py
方式2:也可以在你的应用文件夹下面的__init__.py
# 固定写法
import pymysql
pymysql.install_as_MySQLdb() # 告诉django用pymysql代替mysqldb连接数据库
ps: django的orm不能够自动帮你创建库,但是可以自动帮你创建表
数据库迁移(同步)命令(******)
python3 manage.py makemigrations 将你的数据库变动记录到一个小本本上(并不会帮你创建表)
python3 manage.py migrate 将你的数据库变动正在同步到数据库中