39.Django之基本认识与连接MySQL

目录

1.对HTML数据提交的补充

2.request对象方法初识

3.django链接数据库(MySQL)方式


 

1.对HTML数据提交的补充

1.form表单action参数
	(1).不写 默认朝当前所在的url提交数据
	(2).全写 指名道姓
	(3).只写后缀 /login/


2.在前期使用django提交post请求的时候 需要在settings.py配置文件中注释掉一行代码(重要)
    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',
    ]

2.request对象方法初识

request对象方法有很多

常见request方法
判断请求与接收数据的request方法:
1.request.method            # 返回请求方式 并且是全大写的字符串形式  <class 'str'>
2.request.POST              # 获取用户post请求提交的普通数据不包含文件
	request.POST.get()      # 只获取列表最后一个元素
    request.POST.getlist()  # 直接将列表取出
3.request.GET               # 获取用户提交的get请求数据
	request.GET.get()       # 只获取列表最后一个元素
    request.GET.getlist()   # 直接将列表取出


补充:get请求携带的数据是有大小限制的 大概好像只有4KB左右
      而post请求则没有限制


登录页面请求例子:
"""
def login(request):
    # 返回一个登陆界面
    """
    get请求和post请求应该有不同的处理机制
    :param request: 请求相关的数据对象 里面有很多简易的方法
    :return:
    """
    # print(type(request.method))  # 返回请求方式 并且是全大写的字符串形式  <class 'str'>
    # if request.method == 'GET':
    #     print('get访问数据')
    #     return render(request,'login.html')
    # elif request.method == 'POST':
    #     return HttpResponse("post提交数据")
    # 整合如下:
    if request.method == 'POST':
        return HttpResponse("post提交数据")
    return render(request, 'login.html')
"""

3.django链接数据库(MySQL)方式

1.django在数据库默认用的是sqkite3
    # settings配置文件
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }


2.django链接MySQL
	(1).第一步更改app配置文件中配置
  	    DATABASES = {
            'default': {
                'ENGINE': 'django.db.backends.mysql',    # 需要连接的数据库
                'NAME': 'app01',                         # 数据库名
                'USER':'root',                           # 用户
                'PASSWORD':'117',                        # 密码
                'HOST':'127.0.0.1',
                'PORT':3306,                                
                'CHARSET':'utf8'
            }
        }
    (2).第二步代码声明	
  	    django默认用的是mysqldb模块链接MySQL
        但是该模块的兼容性不好 需要手动改为用pymysql链接
        故:需要告诉django不要用默认的mysqldb还是用pymysql
        # 在项目名下的init或者任意的应用名下的init文件中书写以下代码都可以:
        import pymysql
		pymysql.install_as_MySQLdb()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值