Django静态文件、request对象方法、pycharm连接数据库、django连接数据库

静态文件

我们将html文件默认都放在templates文件夹下

我们将网站所使用的静态文件默认都放在static文件夹下

静态文件的存储路径一般是static,默认是没有这个文件夹的,所以,需要我们自己手动创建出来这个文件夹

静态文件定义

  • 前端已经写好了的 能够直接调用使用的文件
网站写好的js文件
网站写好的css文件
网站用到的图片文件
第三方前端框架
...
拿来就可以直接使用的

一般情况下我们在static文件夹内还会做进一步的划分处理
	-static
  		--js
    	--css
    	--img
    	其他第三方文件

错误分析

  • 在浏览器中输入url能够看到对应的资源

  • 是因为后端提前开设了该资源的接口

  • 如果访问不到资源 说明后端没有开设该资源的接口

****************************************************************
当你在写django项目的时候 可能会出现后端代码修改了但是前端页面没有变化的情况
	1.你在同一个端口开了好几个django项目 
		一直在跑的其实是第一个django项目
	
	2.浏览器缓存的问题
    右键检查
		settings(mac) 或弹出框右侧小齿轮(windows)
			network
				disable cache 勾选上	
*****************************************************************

静态文件配置

# 这个是设置的令牌  如果令牌通过  则被允许去下面列表的文件夹内查找  不通过则被拒绝
STATIC_URL = '/static/'
# 这里是令牌通过被允许查找的文件夹  从上往下依次查找
STATICFILES_DIRS = [
    os.path.join(BASE_DIR,'static'),
    os.path.join(BASE_DIR,'static1'),
    os.path.join(BASE_DIR,'static2'),
]

image

静态文件动态解析

{% load static %}
<link rel="stylesheet" href="{% static 'bootstrap-3.3.7-dist/css/bootstrap.min.css' %}">
<script src="{% static 'bootstrap-3.3.7-dist/js/bootstrap.min.js' %}"></script>

image

image

request对象方法初识

request.method

返回请求方式 并且是全大写的字符串形式
form表单action参数 结果
不写 默认朝当前所在的url提交数据
全写 朝指定url提交数据
只写后缀 (/login/) 朝接口后缀为/login/的url提交数据

修改提交方式(改为post)

  • 在form表单里加入 method="post"(默认是get请求)
  • 把django里的setting.py里的下图框起来的位置注释掉

image

此时login.html里的form表单里的action是'/index/',method是post,
def index(request):
    print('我是index')
    print(request.method, type(request.method))
    return render(request, 'login.html')
def login(request):
    print('来了老弟')
    return render(request, 'login.html')

image

request.POST

获取用户post请求提交的普通数据,不包含文件

get与getlist

def index(request):
    print('我是index')
    if request.method == 'POST':
        print(request.POST, type(request.POST))
        print(request.POST.getlist('username'), type(request.POST.getlist('username')))
        return HttpResponse('我看到啦')
    return render(request, 'login.html')  # 这个是请求为GET的情况

image

request.GET

获取用户提交的get请求数据(url问号后面携带的参数)
get请求携带的数据是有大小限制的 大概好像只有4KB左右
而post请求则没有限制

image

pycharm操作数据库(MySQL)

连接数据库

三个位置查找数据库相关
	右侧上方database
	左下方database
	配置里面的plugins插件搜索安装
	
	再没有卸载pycharm重新装	

image

image

image

这样数据库信息就可以在pycharm上显示了

image

操作数据库

image

django链接数据库(MySQL)

# 默认的是sqkite3  所以要修改为MySQL
1.第一步配置文件中配置
  	DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'day60',  # 数据库名称
        'USER':'root',
        'PASSWORD':'admin123',  # 自己设的密码
        'HOST':'127.0.0.1',  # 写你要连接的数据库所在的ip地址
        'PORT':3306,
        'CHARSET':'utf8'
    }
}
    
2.代码声明	
  	django默认用的是mysqldb模块链接MySQL
    但是该模块的兼容性不好 需要手动改为用pymysql链接
    
    你需要告诉django不要用默认的mysqldb还是用pymysql
    # 在项目名下的init或者任意的应用名下的init文件中书写以下代码都可以
    import pymysql
		pymysql.install_as_MySQLdb()
        
3.再次启动django项目就可以了
posted @ 2022-02-25 15:18  zong涵  阅读(45)  评论(0编辑  收藏  举报