首页 > 其他分享 >Django框架2

Django框架2

时间:2022-12-09 21:00:11浏览次数:42  
标签:文件 框架 models middleware request django Django 目录

今日内容概要

  • 静态文件配置
  • request对象方法
  • pycharm连接MySQL
  • django连接MySQL
  • django模型层初识
  • 基本ORM操作

今日内容详细

静态文件配置

1.编写一个用户登录界面
2.静态文件
	不怎么经常变化的文件 主要针对html文件所使用到的各种资源
	CSS文件 JS文件 IMG文件 第三方框架文件
	django针对静态文件资源需要单独开设一个目录统一存放
		static目录
			该目录下如果各种类型的文件都多 还可以继续创建目录
				CSS目录
				JS目录
				IMG目录
				utils目录、plugins目录、libs目录、others目录、不创都行
3.资源访问
	我们在地址栏中之所以可以输入路由获取到相应的资源是因为程序员提前开设了资源的接口
4.静态文件资源访问
	默认情况下无法访问 因为我们没有提前开设静态文件资源的访问接口

静态文件相关配置

'''在配置文件中找到STATIC_URL这栏'''
STATIC_URL = '/static/'
'''在下方添加'''
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]

1.接口前缀
STATIC_URL = '/xxx/'  # 这是访问静态文件资源的接口前缀(相当于是通行证)
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),   # 这是存储静态文件资源的目录名
    os.path.join(BASE_DIR, 'staticc1'),  # 可以有多个
]
'''
接口前缀正确之后 会拿着后面的路径依次去到列表中自上而下查找 一旦找到就返回
'''

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>

form表单

action		控制数据提交的地址
	1.action=""		数据默认提交给当前页面所在的地址
	2.action="https://www.baidu.com/"	完整地址
	3.action="/index/"		朝当前服务端的index地址提交

method		控制数据提交的方法
	默认是get
	可以改成post

'''
请求方法补充
	get
		朝服务端索要数据 也可以携带一些额外的要求
		携带额外数据的方式: URL?XXX=YYY&UUU=ZZZ
		问号后面携带的数据的大小是有限制的(2KB)并且不能携带敏感数据
	post
		朝服务端提交数据
		携带额外数据的方式: 请求体
		请求体携带数据安全性较高并且没有大小限制
'''

前期发送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	获取请求方式 结果是纯大写的字符串数据
	GET/POST
request.POST	获取post请求请求体里面携带的数据
	request.POST.get()		获取列表最后一个数据值
	request.POST.getlist()	获取整个列表数据
request.GET		获取网址问号后面携带的数据
	request.GET.get()		获取列表最后一个数据值
	request.GET.getlist()	获取整个列表数据

'''
在函数视图中针对不同的请求代码编写套路
	if request.method == 'GET':
		return HttpResponse()
	return HttpResponse()
'''

pycharm连接数据库

1.pycharm初次连接数据库 需要下载对应的驱动
2.具体操作看截图

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': 'userinfo',
        'HOST': '127.0.0.1',
        'PORT': 3306,
        'USER': 'root',
        'PASSWORD': '',
        'CHARSET': 'utf8'
    }
}

2.需要指定模块
	在django1.X版本中需要在项目目录下或者app目录下的__init__.py编写代码
		import pymysql
		pymysql.install_as_MySQLdb()
	在django2.X及以上的都可以直接通过下载mysqlclient模块解决
		pip3.8 install mysqlclient
	ps:该模块windows下载问题不大 主要是mac电脑可能有问题

ORM简介

1.现在models.py中编写类
	class UserInfo(models.Model):
        # 字段名 = 字段类型 + 约束条件
        id = models.AutoField(primary_key=True)
        name = models.CharField(max_length=32)
        age = models.IntegerField()
2.执行数据库迁移相关命令
	python38 manage.py makemigrations	将操作记录到小本本上(migrations)
	python38 manage.py migrate			将操作同步到数据库上
'''注意每次在models.py修改了与数据库相关的代码 都需要再次执行上述命令'''

ORM基本语句

from app01 import models

models.类名.objects.create()
models.类名.objects.filter()
models.类名.objects.update()
models.类名.objects.delect()

标签:文件,框架,models,middleware,request,django,Django,目录
From: https://www.cnblogs.com/lzjjjj/p/16969995.html

相关文章

  • django 02 数据库相关操作
    静态文件配置#1.静态文件不经常变化的文件,主要是html文件所使用的资源css、js、img、第三方框架文件django针对静态文件资源需要单独开放......
  • Django静态文件配置、form表单与request对象
    目录一、静态文件配置1.编写一个页面2.静态文件3.资源访问4.静态文件资源5.静态文件相关配置二、form表单1.action属性2.method属性三、request对象1.request.method2.re......
  • Django:ORM简介与配置
    目录一、Django连接数据库1.使用MySQL数据库首先安装驱动程序2.Django配置MySQL3.查看执行的SQL语句的配置二、ORM简介1.ORM:对象关系映射2.ORM基本操作1.先在models.py中编......
  • Django2
    静态文件配置1.编写一个登录功能1.创建django项目并创建一个app2.在urls.py添加一组对应关系3.在app的views.py中编写登录核心逻辑4.利用三板斧与前端做交互2.为......
  • Django ORM之F与Q查询
    1.F查询fromdjango.testimportTestCase#Createyourtestshere.importosif__name__=="__main__":  os.environ.setdefault("DJANGO_SETTINGS_MODULE","da......
  • UIAutomator测试框架介绍
    uiautomator简介UiAutomator是Google提供的用来做安卓自动化测试的一个Java库,基于Accessibility服务。功能很强,可以对第三方App进行测试,获取屏幕上任意一个APP的任意一个......
  • Django 聚合分组、F对象的使用、聚合分组增加额外字段的方式
    DjangoQuerySet查询表达式F对象简单理解为可以通过F实现数据库操作,而非在Python内存中操作。通过F对象实现。filter()条件过滤或者对象级别的操作。让数据库,而不是......
  • [附源码]Python计算机毕业设计Django酒店物联网平台系统
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • 静态配置、request对象方法,pycharm连接mysql,django连接mysql,django ORM
    目录静态文件配置静态文件相关配置form表单request表单pycharm连接数据库django连接数据库ORM简介ORM基本操作ORM基本语句静态文件配置1.编写一个用户登录页面2.静态文......
  • Go语言框架Iris-01
    安装Irisgoinstallgithub.com/kataras/iris@master可能会出现连接不上的问题,可以使用七牛云的代理具体可以看看这个https://goproxy.cn/$goenv-wGO111MODULE=on......