静态文件
1. 静态文件
不经常修改的文件,主要是针对html文件所使用到的各种资源
css文件 js文件 img文件 第三方框架文件
django针对静态文件资源一般需要单独开一个目录存放
static目录
该目录下如果各类型的文件都多,那么我们还可以继续创建目录,就以文件类型作为目录名称
2. 资源访问
我们在地址栏中之所以可以输入路由获取对应的资源是因为我们程序员提前开设了资源接口
3. 静态资源访问
默认情况下无法访问,因为我们没有提前开设静态文件资源的访问接口
静态文件相关配置
在配置文件中加上这个
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static' )
]
1. 接口前缀
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static' )
]
2. 接口前缀动态匹配
{% 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>
1. action
1. action=""
2. action="https://www.baidu.com/"
3. action="/index/"
2. method
默认是get
额外携带数据的方式: URL?aaa=bbb&ccc=ddd
问号后面携带的数据有大小限制(2KB),而且不能携带敏感数据
可以改为post
携带额外数据的方式:请求体
请求体携带数据安全性较高而且没有大小限制
目前我们发送post请求需要注释掉配置文件中的某一行
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware' ,
'django.contrib.sessions.middleware.SessionMiddleware' ,
'django.middleware.common.CommonMiddleware' ,
'django.contrib.auth.middleware.AuthenticationMiddleware' ,
'django.contrib.messages.middleware.MessageMiddleware' ,
'django.middleware.clickjacking.XFrameOptionsMiddleware' ,
]
request对象
1. 获取请求方式
request.method
GET/POST
2. 获取请求方式中携带的数据
request.POST
request.POST.get()
request.POST.getlist()
request.GET
request.GET.get()
request.GET.getlist()
'''
在视图函数中针对不同的请求的代码编写套路
if request.method == 'POST':
return HttpResponse()
return HttpResponse()
'''
pycharm连接数据库
pycharm中连接数据库在界面左侧的Database中点击加号,选择Data Source(鼠标不要点击,悬浮即可),在右侧弹出的界面中选择MYSQL然后连接即可
注意:pycharm初次连接数据库需要下载对应的驱动
django连接数据库
django会自带一个小型数据库sqlite3,它的功能较少,主要用于本地测试,实际项目中都会替换掉它
sqlite3默认配置
DATABASES = {
'default' : {
'ENGINE' : 'django.db.backends.sqlite3' ,
'NAME' : os.path.join(BASE_DIR, 'db.sqlite3' ),
}
}
1. 修改配置文件
DATABASES = {
'default' : {
'ENGINE' : 'django.db.backends.mysql' ,
'NAME' : 'day51' ,
'HOST' : '127.0.0.1' ,
'PORT' : 3306 ,
'USER' : 'root' ,
'PASSWORD' : '123' ,
'CHARSET' : 'utf8'
}
}
2. 需要指定模块
django1.X版本需要在项目目录下或者app目录下的__init__.py中编写代码
import pymysql
pumysql.install_as_MYSQLdb()
django2.X版本及以上都可以直接通过下载mysqlclient模块解决
ORM
简介
ORM:对象关系映射
能够让不会SQL语句的python程序员使用python面向对象的语法来操作数据库
映射关系
类 ==> 表
对象 ==> 一条条的数据
对象点名字 ==> 获取字段对应的值
基本操作
1. 在models.py中编写模型类
class GirlsInfo (models.Model):
id = models.AutoField(primary_key=True )
name = models.CharField(max_length=32 )
age = models.IntegerField()
2. 执行数据库迁移相关命令
python38 manage.py makemigrations
python38 manage.py migrate
基本语句
from app01 import models
models.类名.objects.create()
models.类名.objects.filter ()
models.类名.objects.update()
models.类名.objects.delete()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix