Django

Django入门

01-简介

Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。

02-创建环境

安装

以安装1.8.2版本为例

pip install django==1.11.1

查看版本:进入python shell,运行如下代码

import django
django.get_version()

创建项目

命令django-admin startproject test1

进入test1目录,目录结构如下图:

目录说明

  • manage.py:一个命令行工具,可以使你用多种方式对Django项目进行交互
  • 内层的目录:项目的真正的Python包
  • _init _.py:一个空文件,它告诉Python这个目录应该被看做一个Python包
  • settings.py:项目的配置
  • urls.py:项目的URL声明
  • wsgi.py:项目与WSGI兼容的Web服务器入口

设计模型

本示例完成“图书-英雄”信息的维护,需要存储两种数据:图书、英雄

  • 图书表结构设计:
    • 表名:BookInfo
    • 图书名称:btitle
    • 图书发布时间:bpub_date
  • 英雄表结构设计:
    • 表名:HeroInfo
    • 英雄姓名:hname
    • 英雄性别:hgender
    • 英雄简介:hcontent
    • 所属图书:hbook
  • 图书-英雄的关系为一对多

数据库配置

  • 在settings.py文件中,通过DATABASES项进行数据库设置
  • django支持的数据库包括:sqlite、mysql等主流数据库
  • Django默认使用SQLite数据库

创建应用

  • 在一个项目中可以创建一到多个应用,每个应用进行一种业务处理
  • 创建应用的命令:
python manage.py startapp booktest

应用的目录结构如下图

定义模型类

  • 有一个数据表,就有一个模型类与之对应
  • 打开models.py文件,定义模型类
  • 引入包from django.db import models
  • 模型类继承自models.Model类
  • 说明:不需要定义主键列,在生成时会自动添加,并且值为自动增长
  • 当输出对象时,会调用对象的str方法
from django.db import models


class BookInfo(models.Model):
    btitle = models.CharField(max_length=20)
    bpub_date = models.DateTimeField()

    def __str__(self):
        return ("%s" % self.btitle)


class HeroInfo(models.Model):
    hname = models.CharField(max_length=20)
    hgender = models.BooleanField()
    hcontent = models.CharField(max_length=100)
    hBook = models.ForeignKey('BookInfo')

    def __str__(self):
        return ("%d" % self.hname)

生成数据表

  • 激活模型:编辑settings.py文件,将booktest应用加入到installed_apps中
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'booktest',
]
  • 生成迁移文件:根据模型类生成sql语句
python manage.py makemigrations
  • 迁移文件被生成到应用的migrations目录

  • 执行迁移:执行sql语句生成数据表
python manage.py migrate

测试数据操作

  • 进入python shell,进行简单的模型API练习

03-模型类

04-后台管理

05-后台关联添加

06-视图

07-使用模板

08-获取并传递数据

09-详细展示

10-总结开发过程

Django模型

01-复习

02-字段说明

03-元选项

04-自定义管理器

05-模型类的创建方法

06-管理器

07-查询

08-聚合、F对象、Q对象

Django视图

01-复习

02-URL配置

03-request对象的Get1

04-Get的一键多值

05-Post请求方式

06-Respose对象

07-sesssion练习

08-session原理

09-总结

Django模版

01-复习

02-模板

03-调用对象的方法

04-定义模板

05-反向解析

06-模板继承

07-html转义

08-CSRF

09-验证码

10-总结

Django高级

01-复习

02-静态文件

03-中间件

04-文件上传

05-站点管理

06-分页

07-jquery的ajax

08-创建数据与页面

09-获取省信息

10-总结

Django扩展

01-复习

02-获取省信息

03-选择市

04-选择区

05-富文本编辑器

06-缓存

07-全文检索

08-celery

posted @ 2018-04-10 17:51  0bug  阅读(253)  评论(0)    收藏  举报