day41-初识Django

2018-09-10  本文已影响0人  奈斯凸米特

1. Django简介

  1. Django发布于2005年7月,是当前Python世界里最有名且成熟的网络框架。 最初是被开发用于管理劳伦斯出版集团旗下的以新闻内容为主的网站的,即CMS(内容管理系统)软件。
  2. Django是一个用Python编写的开放源代码的Web应用框架,代码是开源的。此系统采用了MVC的框架模式, 也可以称为MTV模式。
  3. 什么是MVC
    MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。
  1. Django模式简介
    MVT模式

【注】Django中还有一个url分发器,也叫作路由。主要用于将url请求发送给不同的View处理,View在进行相关的业务逻辑处理。

2. VIRTUALENV虚拟环境创建

  1. Windows中安装virtualenv
    pip install virtualenv
  2. 创建虚拟环境
    virtualenv --no-site-package venv
  3. 进入/退出env
    进入:cd env/Scripts/文件夹 再activate命令
    退出:deactivate
  4. pip使用
    查看虚拟环境下安装的所有包
    pip list
    查看虚拟环境中通过pip安装的包
    pip freeze

3. 创建Django项目

  1. 首先创建一个运行Django项目的虚拟环境
    安装的库:
    pip install Django==1.11
    pip install PyMySQL
  2. 创建一个Django项目
    django-admin startproject helloWorld
    创建一个名为helloWorld的工程
  3. 项目目录介绍


    image.png
  1. 运行Django项目
    python manage.py runserver 端口
    端口可以不用写,启动会默认创建一个可以使用的端口。
  2. 创建app
    创建一个名为hello_app的app
    python manage.py startapp hello_app
  3. setting.py配置文件
    a. 设置语言
    LANGUAGE_CODE = 'zh-hans' 表示中文 LANGUAGE_CODE = 'en-us' 表示英文


    image.png

    设置时区: TIME_ZONE = 'Asia/Shanghai'
    b. 时区解释: (需要详细回顾思考时区问题)
    UTC:世界标准时间,也就是平常说的零时区。 北京时间表示东八区时间,即UTC+8

4. 模型使用

使用admin管理后台

1. 准备工作,在model中定义Student的模型
class Students(models.Model):
    name = models.CharField(max_length=10)
    sex = models.BooleanField()

    class Meta:
        db_table = 'student'
2. admin管理后台的url
在工程目录下可以看到路由配置中有一个admin的url地址
url(r'^admin/', admin.site.urls),
3. 创建admin后台的用户密码
python manage.py createsuperuser
4. 在登录后的管理后台中对自定义的模型进行CRUD操作
在管理后台中操作模型对象。需要在app的admin.py中写如下代码
admin.site.register(模型名)
4. 继承admin.ModelAdmin,编写自定义的admin
class StudentAdmin(admin.ModelAdmin):
    def set_sex(self):
        if self.sex:
            return '男'
        else:
            return '女'
    set_sex.short_description = '性别'
    list_display = ['id', 'name', set_sex]
    list_filter = ['sex']
    search_fields = ['name']
    list_per_page = 1

admin.site.register(模型名, StudentAdmin)
```
其中:<br>
list_display: 显示字段  <br>
list_filter: 过滤字段   <br>
search_fields: 搜索字段 <br>
list_per_page: 分页条数 <br>
```
5. 使用装饰器去实现注册
@admin.register(模型名)
class StudentAdmin(admin.ModelAdmin):
    def set_sex(self):
        if self.sex:
            return '男'
        else:
            return '女'
    set_sex.short_description = '性别'
    list_display = ['id', 'name', set_sex]
    list_filter = ['sex']
    search_fields = ['name']
    list_per_page = 1
上一篇 下一篇

猜你喜欢

热点阅读