zoukankan      html  css  js  c++  java
  • Django 文件配置、pycharm及django连接数据库、表的增删改查 总结

    静态文件配置
    1.你在浏览器中输入网址能够有响应的资源返回给你
    是因为后端已经提前给你开设该资源的接口,也就意味着你所能
    访问到的资源 都是人家事先定义好的

    	2.django如何给用户开设资源接口呢?
    		在urls.py中 开设路由与视图函数对应关系
    	
    	3.什么是静态文件
    		网站所使用的已经提前写好的css文件 js 图片 第三方的类库
    		一般情况下 我们都默认将网站所用到的静态文件统一放在一个叫
    		static文件夹下
    			该文件夹内部 还可以根据文件类型的不同划分成不同的子文件
    				css文件
    				js文件
    				font文件
    				img文件
    				第三方模块专门的文件
    					B
    					F
    		django不会自动帮你建static文件 需要你自己手动创建
    	
    	4.如何暴露静态文件资源给用户访问
    		django为了你暴露方便 不需要你自己手动去urls.py中配置
    		你只需要在settings.py配置即可
    		
    		STATIC_URL = '/static/'  # 访问静态文件资源接口前缀
    		"""
    		如果你想访问静态文件资源 你必有以上面的名字开头
    		你才有访问静态文件资源的权限
    		
    		一旦你是以接口前缀开头  我会拿着接口前缀后面的文件路径
    		去下面的列表中从上往下去每一个文件夹 找寻是否存在该文件 如果是直接返回
    		
    		"""
    		# 自己手动配置路径
    		STATICFILES_DIRS = [
    			os.path.join(BASE_DIR,'static'),  # 静态文件 存放在的文件路径
    			os.path.join(BASE_DIR,'static1'),  # 静态文件 存放在的文件路径
    			os.path.join(BASE_DIR,'static2'),  # 静态文件 存放在的文件路径
    		]
    		
    		
    	5.接口前缀动态绑定
    		html页面上的接口前缀跟你的配置文件中接口前缀动态绑定
    		
    		在html页面上  固定写句式
    		{% load static %}
    		<script src='{% static 'Bootstrap/css/min.css' %}'></script>		
    
    request对象
    	该对象内部包含了所有请求相关的数据
    	request.method  获取前端发送的请求方式
    		GET
    		POST
    		全大写的字符串类型
    		
    		携带数据的方式
    			GET请求携带数据的方式
    				url?username=zhang&password=123
    			# 只要你的ulr后面符号get请求携带参数的特点 那么无论你发什么请求 你都可以通过request.GET获取数据
    		
    	request.GET  获取符合GET请求携带数据的方式
    		你可以把它看成一个大字典
    		request.GET.get()  # 默认只拿value列表中最后一个元素
    		request.GET.getlist()  # 拿value整个列表
    	
    	request.POST  获取post请求携带过来的数据
    		你可以把它看成一个大字典
    		request.POST.get()  # 默认只拿value列表中最后一个元素
    		request.POST.getlist()  # 拿value整个列表
    
    pycharm链接数据库
    	左下方
    	或者右侧边缘都有连接入口
    	你只需要注意在第一次连接数据库的时候 需要下载一个数据库的驱动
    
    django链接MySQL
    	django默认自带一个小型的sqlite(对日期格式的数据 不太兼容)
    	
    	一定要注意是两步
    		1.在settings文件中配置
    			DATABASES = {
    				"NAME":...
    				"HOST":...
    				"PORT":...
    				"USER":...
    				"PASSWORD":...
    				"CHARSET":'utf8'
    			}
    		
    		2.需要在项目名下面的__init__.py或者app下面的__init__.py文件中配置一下
    			告诉django不要使用默认的mysqldb模块连接数据库 而是使用pymysql
    			import pymysql
    			pymysql.install_as_MySQLdb()
    
    django orm简介
    	对象关系映射
    	
    	# 注意:django的orm不会自动帮你创建数据库  需要你手动自己创建数据库
    	# orm只能帮你自动创建表 
    	# 个人建议:针对不同的django项目 使用不同的库 不要多个项目公用一个数据库
    	
    	
    	你要去app下面的models.py中书写模型类
    	
    	表字段的书写
    		class User(models.Model):
    			# django orm当你没有指定主键的时候 orm会自动帮你新建一个字段名为id的主键字段
    			# 但是如果你的主键字段不想叫id 那么你只能手动设置 一旦orm识别到你手动设置了主键 它就不再自动创建
    			# id = models.AUTOField(primary_key = True)
    			username = models.CharField(max_length=32)  # CharField字段一定要指定max_length参数
    			password = models.IntegerField()
    		
    	数据库迁移命令
    		将在models里面的操作同步到数据库中
    		python3 manage.py makemigrations  # 将数据库操作记录到小本本上  migrations文件夹内   日志功能  该命令不会直接影响数据库
    
    		python3 manage.py migrate  # 将记录真正的同步到数据库中
    		"""
    		只要你动了跟数据库相关的models中的代码 你就必须执行上面的命令
    		一个都不能少  顺序也不能跌倒			
    		"""
    				
    
    字段的增删改查
    	增字段的时候
    		1.给新增的字段设置默认值
    		2.给新增的字段设置为允许为空
    数据的增删改查
    	查
    		models.User.objects.all()  # 查询所有
    		models.User.objects.filter(**kwargs)  # 条件之间是and的关系
    		# filter的结果你可以看成是一个列表 支持索引取值和切片操作 但是不支持负数
    		.first()
    		
    	增
    		user_obj = models.User.objects.create(**kwargs)
    		# 该方法有一个返回值 就是当前被创建的对象本身
    	
    	改
    		models.User.obejcts.filter(id=1).update(**kwargs)
    		# 批量更新
    	删
    		models.User.obejcts.filter(id=1).delete()
    		# 批量删除
  • 相关阅读:
    Decimal 格式化输出( 去掉多余的0和点)
    HTML Character Sets
    生成下面的模块时,启用了优化或没有调试信息
    PJBLog的CSS模板图
    .NET 实例化顺序
    Live Mail 报错 0x80048820 可能的处理方式
    Windows下将Ldif文件导入OpenLdap时的中文转换问题
    DataGrid中动态添加列
    Sip协议栈消息层的设计与实现
    Prism学习笔记模块之间通信的几种方式
  • 原文地址:https://www.cnblogs.com/zhangchaocoming/p/11929734.html
Copyright © 2011-2022 走看看