Django三板斧与连接数据库

Django三板斧

  HttpResponse: 主要返回文本类型的数据,返回给了浏览器了

  render:渲染页面的,
    render(request, 'index.html', {'a':1, 'b':2})
    render(request, 'index.html', locals())

  redirct: 重定向(就是跳转链接)
    redirect('http://www.baidu.com')
    redirect('/admin/')

def index(request):
    print('123')
    # 暂且记忆返回值是字符串类型
    # return HttpResponse('hello django!')  # 返回给浏览器了
    ctime = time.strftime('%Y-%m-%d %X')
    a = 1
    b = 2
    print(locals())
    # return render(request, 'index.html', {'ctime11111':ctime, 'a':1, 'b':2})
    # return render(request, 'index.html', locals())
    # return redirect('http://www.baidu.com')
    return redirect('/admin/')  # ip+port/admin

 

静态文件配置

  1、定义

    静态文件就是前端已经写好的了,能够直接调用使用的文件。拿来就可以直接使用的

  2、静态文件的储存t

 

    静态文件的存储路径一般是static,默认中是没有这个文件夹,需要我们手动创建这个文件夹,而且在static文件夹中还可以继续根据不同的功能进行划分

   3、静态文件配置

STATIC = '/static/' # 令牌,
# 完成路径:/static/css/a.css
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'), #
os.path.join(BASE_DIR, 'static1'),
]

# 动态配置:
{% load static %} import static
<link href='{% static 'css/a.css'%}'>
{{ }}

   html文件中使用这个路径导入

 

  如果不配置的结果

   4、static的区别

     STATIC_URL = '/static/' 中的static类似于访问静态文件的令牌,如果想要访问静态文件,就必须要以static开头。这个static和html文件中的static是同一个

    STATIC_URL = '/static/'中的static令牌在STATICFILES_DIRS这个列表里面从上往下查找bootstrap.min.js,都没有才会报错

 

  5、静态文件动态解析

    STATIC_URL = '/static/'中的static名称是可以更改的,但是更改之后html文件中的static也需要更改。

    为了解决这种情况的,可以用{% static %}的方式,这个做后settings.py文件中的令牌static可以随便改名html中也不会受影响

 request对象方式

 

  1、request.method

    返回请求方式,并且是全大写的字符串形式

  2、request.POST

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

    request.POST.get

    只获取列表最后的一个元素

    request.POST.getlist

    直接讲列表中的元素全部取出

  3、request.GET

    获取用户提交的get请求数据

    request.GET.get

    只获取列表最后的一个元素

    request.GET.getlist

    直接讲列表中的元素全部取出

  4、get和post的区别

    get请求

      1、没有请求体

      2、对数据大小限制是4KB

      3、不安全

    post请求

      1、有请求体

      2、对数据大小没有限制

      3、安全

Django链接数据库

  1、链接mysql的配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db01',
        'HOST':'127.0.0.1',
        'PORT':3306,
        'USER':'root',
        'PASSWORD':'123',
        'CHARSET':'utf8'
    }
}

 

  2、Django默认的操作mysql的模块是MySQLdb,在python3.6版本以下需要加入两句话(在init文件中添加即可)

import pymysql
pymysql.install_as_MySQLdb()

 

pycharm中链接MySQL

 

END

 

posted @ 2022-02-25 16:34  Snails蜗牛  阅读(56)  评论(0编辑  收藏  举报