Django知识点快速复习-Django简介和MVT

www.lynda.com作为全球一流的在线培训网站,一直以高质量的视频课程著称。其课程内容也是紧跟行业潮流,本人最近学了里面的一门课程Learning Python and Django, 分享一下。

课程链接:https://www.lynda.com/Django-tutorials/Up-Running-Python-Django/386287-2.html
获取lynda.com永久会员的链接:https://item.taobao.com/item.htm?id=557746408785

  1. Django简介
    Model Views Controller设计思想,主要的目的是解耦合,开发原则是高内聚,低耦合
    Model:负责操作数据库,和views打交道
    Views:负责接收http request,处理业务逻辑,返回httpResponse
    Templates:封装HTML函数

  2. 搭建虚拟环境
    不同的项目可能需要在不同的版本下运行,所以需要建立一个虚拟的环境运行不同的Django项目

    1. 安装虚拟环境的命令:
      sudo pip install virtualenv
      sudo pip install virtualenvwrapper
    2. 安装虚拟环境的命令
      mkvirtualenv py_django
    3. 使用虚拟环境
      workon py_django
    4. activate–deactivate
  3. 创建Django项目

    1. 创建django项目
      django-admin startproject BookManger
    2. 创建django应用程序
      python manage.py startapp Book
    3. 注册django应用程序
      myproject/setting.py – INSTALLED APP 添加 应用程序 ‘Book’
    4. 更改pycharm解释器
      linux 输入:which python, 拷贝路径到Pycharm
  4. 创建模型(model)

    1. 分析数据库结构
      需要两张数据表
      –book_infor -id -name
      –heros -id -name -gender -book(foreignkey book_infor)

    2. model数据库开发

      1. 定义模型类
        该模型类继承了定义好的models.Model.
        代码:
    from django.db import models

            class Book_Info(models.Model):
                name = models.CharField(max_length=20)

                def __str__(self):
                    return self.name.encode('utf-8')

            class Book(models.Model):
                name = models.CharField(max_length=20)
                gender = models.BooleanField()
                book = models.ForeignKey(Book_Info)

                def __str__(self):
                    return self.name.encode('utf-8')
    2. 模型迁移 
      1. 生成迁移文件
          python manage.py makemigrations
      2. 执行迁移
          python manage.py migrate
          python manage.py migrate --list   查看list
    3. 启动Django的shell操作数据库
          python manage.py shell 
  1. Admin站点管理
    1. 管理界面本地化
      settting.py 更改:
      LANGUAGE_CODE = ‘zh-Hans’
      TIME_ZONE = ‘Asia/Shanghai’
    2. 创建管理员
      python manage.py createsuperuser
      python manage.py runserver
      浏览器输入:localhost:8000/admin
    3. 注册模型类
      admin.py 里面输入:
        from django.db import models
        from .models import Book, Book_Info
        admin.site.register(Book)
        admin.site.register(Book_Info)
4. 自定义管理页面
      class BookAdmin(admin.ModelAdmin):
            list_display = ['id', 'name', 'gender', 'book']
        class BookInfoAdmin(admin.ModelAdmin):
            list_display = ['id', 'name']
        admin.site.register(Book, BookAdmin)
        admin.site.register(Book_Info, BookInfoAdmin)
  1. 视图和URL

    1. 定义视图
      视图就是views.py上面的一个函数,该函数的第一个参数是request, 返回值必须是httpResponse

    2. 设置URLconf
      settting.py —ROOT_URLCONF = ‘BookManager.urls’

    3. 设置url.py

      1. 在prject文件夹下,设置url第一次匹配,假如不是admin,则传入应用程序的作为第二次匹配
        url(r”^”, include(“Book.urls”))

      2.
      正则表达式:
      Note: views.py 下面的函数index, 调用时候会自动传入request参数,如果正则表达式里面有组,也会自动传入index(在定义函数的时候设置)作为参数。\
      url(r”^$”, views.index)

  2. 总结MVC流程

  3. 模板templates

    1. 在应用同级目录下创建templates文件夹,单后在templates文件夹中创建应用文件夹。
      –templates –app –index.html
    2. 设置模板查找路径
      setting.py dir = [os.path.join(BASE_DIR, “templates”)]

    3. 模板接收视图传入的数据
      render(request, “Book/index.html”, {“test”:”this is a test”})
      html模板中添加:

    4. {{ test }}

你可能感兴趣的:(Python学习)