Django框架知识点----大家拿笔记一下

1.Django特点及环境的安装
    特点:
        重量级框架
            Django原生提供了众多的功能组件,让开发更简便快速
        MVT模式
            Model
                负责和数据库交互,进行数据处理
            View
                接收请求,进行业务处理,返回应答
            Template
                负责封装构造要返回的html
    环境安装
        创建虚拟环境
            mkvirtualenv django_py3_1.11 -p python3
        安装Django1.11.11版本
            pip install django==1.11.11
        相关命令回顾
            虚拟环境
                mkvirtualenv  # 创建虚拟环境
                rmvirtualenv  # 删除虚拟环境
                workon  # 进入虚拟环境、查看所有虚拟环境
                deactivate  # 退出虚拟环境
            pip
                pip install  # 安装依赖包
                pip uninstall  # 卸载依赖包
                pip list  # 查看已安装的依赖包
                pip freeze  # 冻结当前环境的依赖包

2.使用pycharm运行代码
    1.创建工程
        创建
            django-admin startproject 工程名称
        目录
            settings.py是项目的整体配置文件。
            urls.py是项目的URL配置文件。
            wsgi.py是项目与WSGI兼容的Web服务器入口。
            manage.py是项目管理文件,通过它管理项目。
        运行开发服务器
            python manage.py runserver ip:端口
            python manage.py runserver
    2.创建子应用
        创建
            python manage.py startapp 子应用名称
        目录
            admin.py文件跟网站的后台管理站点配置相关。
            apps.py文件用于配置当前子应用的相关信息。
            migrations目录用于存放数据库迁移历史文件。
            models.py文件用户保存数据库模型类。
            tests.py文件用于开发测试用例,编写单元测试。
            views.py文件用于编写Web应用视图。
        注册安装子应用
            子应用名.apps.子应用名首字母大写Config
                   注册安装一个子应用的方法,即是将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表中。
            如果不安装,在数据迁移的时候不能迁移

3.模型
    数据库开发的步骤
        定义模型类,根据数据库表的设计,在models.py中定义模型类,继承自models.Model

            创建相关的表的信息 :

from django.db import models

# Create your models here.
# 准备书籍列表信息的模型类
class BookInfo(models.Model):
    # 创建字段,字段类型...
    name = models.CharField(max_length=10)

# 准备人物列表信息的模型类
class PeopleInfo(models.Model):
    name = models.CharField(max_length=10)
    gender = models.BooleanField()
    # 外键约束:人物属于哪本书
    book = models.ForeignKey(BookInfo)

       
        模型迁移
            生成迁移文件
                python manage.py makemigrations
            执行迁移
                python manage.py migrate  
        操作数据库
            管理员后台操作

4.站点管理
    界面管理
        语言设置
        时区设置
    创建管理员
        命令
              python manage.py createsuperuser
        重置密码
            python manager.py changepassword 用户名
                python / wpb666888
    注册模型类
        1.导入模型模块
            from .models import BookInfo,PeopleInfo
        2.注册模型
            admin.site.register(表名)
    在模型里重写str方法

# 准备书籍列表信息的模型类
class BookInfo(models.Model):
    # 创建字段,字段类型...
    name = models.CharField(max_length=10)

    def __str__(self):
        """将模型类以字符串的方式输出"""
        return self.name

5.视图和url
    1.定义视图
            视图就是一个Python函数
            视图的第一个参数是HttpRequest类型的对象reqeust
            视图必须返回HttpResponse对象
            需要导入HttpResponse模块
    2.配置URLconf
        查找视图的过程:

  • 1.请求者在浏览器地址栏中输入URL, 请求到网站.
  • 2.网站获取URL信息.
  • 3.然后与编写好的URLconf逐条匹配.
  • 4.如果匹配成功则调用对应的视图.
  • 5.如果所有的URLconf都没有匹配成功.则返回404错误.   

        URLconf入口  :settings中
        urlconfig的配置
            1.在项目中定义URLconf
            2.在应用中定义URLconf      
        URL匹配过程
        可以访问

6.模版
    1.创建模版:

  • 应用同级目录下创建模板文件夹templates. 文件夹名称固定写法.
  • templates文件夹下, 创建应用同名文件夹. 例, Book
  • 应用同名文件夹下创建网页模板文件. 例 :index.html

    2.设置模板查找路径
        [os.path.join(BASE_DIR, 'templates')]
    3.模板接收视图传入的数据
    4.模版处理数据
        context传入到模版

7.配置文件和静态文件
    settings的配置文件
        1. BASE_DIR:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

当前工程的根目录,Django会依此来定位工程内的相关文件,我们也可以使用该参数来构造文件路径
            1.__file__表示当前的文件settings.py
            2.os.path.abspath(__file__)获取的是文件的绝对路径
            3.os.path.dirname(os.path.abspath(__file__))表示获取文件的文件夹路径
            4.os.path.dirname(os.path.dirname(os.path.abspath(__file__)))表示上一级文件夹路径
            注意点
                我们工程中的所有文件都是以base_dir为根目录
        2. DEBUG:调试模式,创建工程后初始值为True,即默认工作在调试模式下

            作用:

  • 修改代码文件,程序自动重启

  • Django程序出现异常时,向前端显示详细的错误追踪信息

            DEBUG = True
                测试模式

注意:部署线上运行的Django不要运行在调式模式下,记得修改DEBUG=False和ALLOW_HOSTS
        3. 本地语言与时区:将语言和时区修改为大陆信息:
            LANGUAGE_CODE = 'zh-Hans'
            TIME_ZONE = 'Asia/Shanghai'

        4.静态文件:项目中的CSS、图片、js都是静态文件。一般会将静态文件放到一个单独的目录中,以方便管理
        在bookmanager/settings.py中修改静态文件的两个参数
            STATICFILES_DIRS存放查找静态文件的目录
                STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

            STATIC_URL访问静态文件的URL前缀
                STATIC_URL = '/static/'

例如:

1) 在项目根目录下创建static目录来保存静态文件。

2) 在bookmanager/settings.py中修改静态文件的两个参数为

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

3)此时在static添加的任何静态文件都可以使用网址/static/文件在static中的路径来访问了。

例如,我们向static目录中添加一个index.html文件,在浏览器中就可以使用127.0.0.1:8000/static/index.html来访问。

或者我们在static目录中添加了一个子目录和文件book/detail.html,在浏览器中就可以使用127.0.0.1:8000/static/book/detail.html来访问。

8.数据库的配置
    settings文件修改
        使用mysql
    工程的init中
        import pymysql
pymysql.install_as_MySQLdb()

            
        

猜你喜欢

转载自blog.csdn.net/wpb74521wrf/article/details/81129172