DAY71-Django框架(二)

一、Django中app的概念

大学: ---------------项目
​ 信息学院 ----------app01
​ 物理学院 ----------app02
强调:创建了app,要在setting.py配置文件中注册

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',#创建项目时就创建了app,默认样式
    'app02',#手动注册
]

二、模板的路径设置

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]#模板路径
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

三、静态文件的配置

STATIC_URL = '/static/'    #一般不要改
#创建一个static文件夹       一般不要改
STATICFILES_DIRS=[
        os.path.join(BASE_DIR, 'static'),  #创建的文件夹路径(可以写多个)
        ]

四、完整的登录功能

login.html
<!--action:提交到后台的地址三种写法:
    1.http://127.0.0.1:8000/login 直接指定路径
    2./login/   推荐用
    3.空         当前页面
-->
<!--methods的两种提交方式:
    1.get:获取数据,页面,携带数据是不重要的数据(数据量有大小限制),提交的数据会在url中显示,数据不安全
    2.post:往后台提交数据,相对安全
-->
<form action="/login/" method="post">
    <p>用户名:<input type="text" name="name" class="form-control"></p>
    <p >密码:<input type="password" name="pwd" class="form-control">
    </p>
    <input type="submit" value="提交">
</form>

五、新手三件套

  1. render:返回页,默认会去templates里找,注意路径
  2. redirect:重定向
  3. HttpResponse

本质:render和redirect都是返回HttpResponse的对象,是属于HttpResponse的方法

六、orm介绍

1.ORM

​ 即Object Relational Mapping,全称对象关系映射。
​ 优点:
​ 1.不用写sql,不会sql的人也可以写程序
​ 2.开发效率高
​ 缺点:
​ 1.可能sql的效率低

2.如何使用:

​ 1.如果连接mysql:在setting里配置:

'default': {
    'ENGINE': 'django.db.backends.mysql',
    'HOST': '127.0.0.1',
    'PORT': 3306,
    'USER': 'root',
    'PASSWORD': 'admin',
    'NAME': 'lqz',
}

​ 2.在app下的__init__.py里写:

import pymysql
# 更换连接模块
# MySQLdb替换为pymysql
pymysql.install_as_MySQLdb()

3.django-orm:

​ 1.不能创建数据库(需要手动创建数据库)
​ 2.可以创建数据表
​ 3.可以创建字段

4.数据库迁移

​ 1.python3 manage.py makemigrations ----记录一下数据库的变化
​ 2.python3 manage.py migrate ----将变化同步到数据库中

猜你喜欢

转载自www.cnblogs.com/xvchengqi/p/9909413.html