首页 > 数据库 >静态文件配置,from表单,request对象,pycharm连接数据库,Django连接数据库,初识ORM

静态文件配置,from表单,request对象,pycharm连接数据库,Django连接数据库,初识ORM

时间:2022-12-10 22:55:33浏览次数:37  
标签:文件 静态 数据库 request models ORM 连接

目录

静态文件配置,from表单,request对象,pycharm连接数据库,Django连接数据库,初识ORM

今日内容概要

  • 静态文件配置
  • 静态文件相关配置
  • from表单
  • request对象
  • pycharm连接数据库
  • Django连接数据库
  • ORM简介
  • ORM基本操作
  • ORM基本语句

今日内容详细

静态文件配置

1.编写一个用户登录页面
2.静态文件
	不怎么经常变化的文件 主要针对html文件所使用的到的各种资源
		css文件、js文件、img文件、第三方框架文件
    
	django针对静态文件资源需要单独开始一个目录统一存放
    	static目录
  			该目录下如果各种类型的文件都多 还可以继续创建目录
         		css目录
            	js目录
               img目录
            	utils目录/plugins目录/libs目录/others目录/不创
3.资源访问
	我们在地址栏中之所以可以属于路由获取到相应的资源是因为程序员提前开设了资源的接口
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初次连接数据库 需要下载对应的驱动

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,models,ORM,连接
From: https://www.cnblogs.com/zpf1107/p/16972529.html

相关文章

  • MongoDB安全加固,防止数据库攻击删除勒索威胁
    前言:今天发现前段时间自己搭建的一个系统的MongoDB数据找不到了,觉得很奇妙,然后登上MongoDB数据库发现多了一个名为READ__ME_TO_RECOVER_YOUR_DATA的数据库,里面还有一......
  • go使用连接池连接clickhouse
    packagemainimport("database/sql""fmt""time"_"github.com/ClickHouse/clickhouse-go")//连接池的最大数量constmaxConnections=10......
  • 电脑自动连接华科校园网
    电脑自动连接华科校园网校园网自动连接开机连接源码及分析每个5秒检查自己还能不能上网,方式就是ping8.8.8.8,这是很常见的方法。如果不能上网,那么就调用login()......
  • winform 实现文档预览。
      文档预览一直是一个问题,尤其是web网站,实现文档预览,淡然如果你付费第三方,当我没说。微软给的接口实现预览效果还可以,但是他又限制,就是ip不行,需要域名。这个就有点苦逼......
  • 12-主动连接之socketChannel
    新入门skynet系列视频b站网址https://www.bilibili.com/video/BV19d4y1678X主动连接之socketChannel当我们打算主动跟外部通讯时,我们一般使用socketchannel。socke......
  • 7-接受新连接
    新入门skynet系列视频b站网址https://www.bilibili.com/video/BV19d4y1678X上一节讲了发起网络监听。现在接着说明怎么接受新连接的。这个水龙头里面的水主要......
  • 10-关闭网络连接
    新入门skynet系列视频b站网址https://www.bilibili.com/video/BV19d4y1678X关闭网络连接。我们进行网络通讯的时候,两端都有一个socket。每个socket又有读端和写端。......
  • 静态文件配置、request、连接数据库、ORM基本语句
    静态文件及相关配置form表单request对象方法pycharm连接MySQLdjango连接MySQLORM简介ORM基本操作ORM基本语句静态文件及相关配置静态文件#......
  • 11-发起主动连接
    新入门skynet系列视频b站网址https://www.bilibili.com/video/BV19d4y1678X发起主动连接我们做服务器一般都是接收外部发起的连接。但是有时候也需要主动发起连接请......
  • python之路46 django request对象 form表单 pycharm连接数据库 ORM简介
    静态文件配置1.编写一个用户登录页面2.静态文件不怎么经常变化的文件主要针对html文件所使用的到的各种资源css文件、js文件、img文件、第三方框架文件......