首页 > 数据库 >静态文件、request对象、pycharm/django连接数据库、ORM了解

静态文件、request对象、pycharm/django连接数据库、ORM了解

时间:2022-12-11 21:11:24浏览次数:49  
标签:文件 静态 数据库 request django ORM

静态文件、request对象、pycharm/django连接数据库、ORM了解

目录

静态文件配置

静态文件配置就是为了让用户请求时,django服务器能找到静态文件返回。
静态文件:不经常变化的文件,主要针对html文件所使用到的各种资源
	如:css文件、js文件、img文件、第三方框架文件
django针对静态文件资源需要单独开始一个目录统一存放

资源访问:
	我们在地址栏可以基于路由获取到相应的资源是因为程序员提前开设了资源的接口
静态文件资源访问
	默认情况下无法访问,因为我们没有提前开设静态文件资源的访问接口。
    

静态文件相关配置

# 编写一个用户登录页面
步骤:
1.创建django项目并创建一个app
2.在urls.py中添加一组对应关系
3.在app的views.py中编写登录核心逻辑
4.利用三板斧()与前端做交互
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, 'static1'),  # 存储静态文件资源的目录名称
    os.path.join(BASE_DIR, 'static2'),  # 存储静态文件资源的目录名称
]
'''
接口前缀正确之后 会拿着后面的路径依次去到列表中自上而下查找 一旦找到就返回
'''

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 == 'POST':
		return HttpResponse()
	return HttpResponse()
"""

pycharm连接数据库

步骤:
1.查找pycharm提供的database按钮
	左下角的数据小图标
2.点击database;若没有就按照file-settings-plugins的步骤查找、搜索Database Tools and sql
3.下载安装驱动
	第一次下载要记得点击Download
4.连接已有的数据库
	先点击Test Connection测试是否能够成功连接
5.添加新的数据
6.常用功能
	rename 重命名
    Query Console 编写SQL语句
    Foreign Key 外键
    
7.首次连接数据库需要下载对应的驱动

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
    	pymysql.install_as_MySQLdb()
	django2.X及以上都可以直接通过下载mysqlclient模块解决
    	pip3.8 install mysqlclient
	ps:该模块windows下载问题不大 主要是mac电脑可能有问题

        

ORM简介

ORM:对象关系映射
	能够让不会SQL语句的python程序员 使用python面向对象的语法来操作数据库
	
类					表
对象					一条条数据
对象点名字			 数据获取字段对应的值

ORM由于高度封装了SQL 所以有时候效率较低 我们需要自己写SQL

ORM基本操作

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  
# 将操作记录到小本本上(migrations)
python38 manage.py migrate	# 将操作同步到数据库上
 '''
 注意每次在models.py修改了与数据库相关的代码 都需要再次执行上述命令
 '''

ORM基本语句

from app01 import models
models.类名.objects.create()
models.类名.objects.filter()
models.类名.objects.update()
models.类名.objects.delete()

标签:文件,静态,数据库,request,django,ORM
From: https://www.cnblogs.com/zhiliaowang/p/16974484.html

相关文章

  • 静态文件相关配置、request请求方法、pycharm连接MySQL、orm
    静态文件相关配置、request请求方法、pycharm连接MySQL、orm风得意马蹄疾,一日看尽长安花一、静态文件相关配置1.编写一个登录功能1.创建一个django项目并创建一个app......
  • Github全面详解-12 Pull Request
    PullRequest用于提出对项目文件的更改。它是一个开始提交讨论的方式,被经常用于代码审查。如果你是一个人工作,你可以使用我们学到的git命令来推送更改到主分支中,就足以满......
  • php里ezpdo orm框架初探
      java里有hibernate,php里有啥,这一直困绕着大家.最近发现了一个还可以的php的orm框架ezpdo,网站是​​​http://www.ezpdo.net​​​,有手册......
  • WinForm(六)组合布局属性
    WinForm是基于控件的,不像code+mark的架构,可以非常灵活的用mark来布局,它只能用控件布局属性和窗口控件来完成对UI的布局。容器控件有一组控件叫容器控件,对布局特别有作......
  • Django总结
    Django总结django简介1.版本问题django1.X:同步 1.11django2.X:同步 2.2django3.X:支持异步3.2django4.X:支持异步 4.2......
  • WinForm(六)组合布局属性
    WinForm是基于控件的,不像code+mark的架构,可以非常灵活的用mark来布局,它只能用控件布局属性和窗口控件来完成对UI的布局。容器控件有一组控件叫容器控件,对布局特别有作用......
  • Ubuntu20.04安装python3-pip后安装sqlalchemy报错AttributeError: module 'platform'
    解决方法如下:1.首先卸载已经安装python3-pipsudoaptremovepython3-pip2.安装python3.8-pipsudopython3.8-measy_installpip3.安装sqlalchemywang@wang:~$sudopip3.......
  • django2
    静态文件配置1.编写一个用户登录页面2.静态文件 不怎么经常变化的文件主要针对html文件所使用的到的各种资源 css文件、js文件、img文件、第三方框架文件 djan......
  • WinForm(六)组合布局属性
    WinForm是基于控件的,不像code+mark的架构,可以非常灵活的用mark来布局,它只能用控件布局属性和窗口控件来完成对UI的布局。容器控件有一组控件叫容器控件,对布局特别有作......
  • WinForm(五)控件和它的成员
    窗体无疑是WinForm的主角,每个窗体都是用一个class来承载,那么窗体的控件,就是类中的私有字段了。每个窗体有三个文件,两个.cs文件,是一个分部类,Designer.cs是自动生成的C#......