Django 菜鸟教程(跑通流程)

这篇博客详细介绍了如何从零开始使用Django搭建项目。首先,讲解了Django的安装过程,包括安装Python,下载Django,通过pip安装并验证安装。接着,创建了第一个Django项目,包括创建项目目录,初始化设置,定义数据表结构,配置数据库(以MySQL为例)。然后,展示了如何创建应用,生成模型,进行数据库迁移,以及在Python shell中进行数据操作。此外,还涵盖了启动开发服务器,配置Admin站点,自定义管理页面,以及初步使用视图和模板进行数据展示。最后,通过实际操作演示了如何通过URL路由连接模板和视图,实现数据的动态展示。
摘要由CSDN通过智能技术生成

Django 教程

一、Django 安装

1、Django 版本对应的 Python 版本:

在这里插入图片描述

2、Django下载地址:

https://www.djangoproject.com/download/

3、安装(无需下载)

打开cmd,输入:pip install Django==1.11.4,然后回车
在这里插入图片描述

4、验证安装

cmd进入python

获取版本信息

import django
django.get_version()

在这里插入图片描述

二、创建第一个项目

1、在合适位置创建一个目录

2、打开DOS进入到上一步创建的目录下

CD C:\Users\Administrator\PycharmProjects\bilibili_qianfeng\bilibili_20200404\01-wj

3、输入:django-admin startproject project

查看目录结构:tree . /F
在这里插入图片描述

4、目录层级说明

manage.py

一个命令行工具,可以让你以各种方式与该Django项目进行交互

init.py

一个空文件,告诉Python该项目是一个Python包

settings.py

项目的配置文件

urls.py

项目的URL申明,一份由Django驱动的网站“目录”

wsgi.py

一个WSGI兼容的Web服务器的入口,以便运行你的项目
在这里插入图片描述

三、基本操作

1、设计表机构

a、班级表结构

表名:grade
字段:

班级名称:gname
成立时间:gdate
女生总数:ggirlnum
男生总数:gboynum
是否删除:isDelete

b、学生表结构

表名:students
字段:

学生姓名:sname
学生性别:sgender
学生年龄:sage
学生简介:scontend
所属班级:sgrade
是否删除:isDelete

2、配置数据库

注意:Django默认使用Sqlit数据库
在这里插入图片描述
在setting.py文件中,通过DATABASE选项进行数据库配置

a、配置MySQL

python3.x安装的是PyMySQL
在__init__.py文件中写入两行代码
import pymysql
pymysql.install_as_MySQLdb()

b、格式:

在这里插入图片描述

3、创建应用

在一个项目中可以创建多个应用,每个应用进行一种业务处理

a、打开cmd进入01-wj目录下的project的目录

b、执行:python manage.py startapp myAPP

c、myApp目录说明

admin.py

站点配置

models.py

模型

views.py

视图

4、激活应用

在setting.py文件中,讲myApp应用加入到INSTALLED-APPS选项中
在这里插入图片描述

5、定义模型

概述:有一个数据表,就应该对应一个模型
在models.py中定义模型

引入:from django.db import models

模型类要继承models.Model类

from django.db import models

# Create your models here.

class Grades(models.Model):
    gname = models.CharField(max_length=20)
    gdate = models.DateTimeField()
    ggirlnum = models.IntegerField()
    gboynum = models.IntegerField()
    isDelete = models.BooleanField(default=False)


class Students(models.Model):
    sname = models.CharField(max_length=20)
    sgender = models.BooleanField(default=True)
    sage = models.IntegerField()
    scontend = models.CharField(max_length=20)
    isDelete = models.BooleanField(default=False)
    # 关联外键
    sgrade = models.ForeignKey("Grades")

说明:不需要定义主键,在生成时自动添加,并且值为自动增加

6、在数据库中生成数据表

a、生成迁移文件

执行:python manage.py makemigrations
在这里插入图片描述
在migrations目录下生成一个迁移文件,此时数据库中还没有生成数据表
在这里插入图片描述

b、执行迁移

执行:python manage,py migrate
在这里插入图片描述
相当于执行sql语句创建数据表
在这里插入图片描述

7、测试数据操作

a、进入到python shell

b、执行:python manage.py shell

在这里插入图片描述

c、引入包:

from myAPP.models import Grades,Students
from django.utils import timezone
from datetime import *

d、查询所有数据

格式:类名.objects.all()
Grades.objects.all()
在这里插入图片描述

e、添加数据

本质:创建一个模型类的对象实例
grade1=Grades()
grade1.gname=‘python04’
grade1.gdate=datetime(year=2020,month=4,day=4)
grade1.ggirlnum=3
grade1.gboynum=70
grade1.save()

f、查询某个对象

格式:类名.objects.get(pk=1)
Grades.objects.get(pk=1)

g、修改数据

模型对象.属性 = 新值
grade1.gboynum = 60
grade1.save()
在这里插入图片描述

h、删除数据

物理删除(真实删除!)

模型对象.delete()

逻辑删除(isDelete = True)

I、关联对象

创建一个学生

stu = Students()
stu.sname = “小明”
stu.sgender = False
stu.sage = 20
stu.scontend = “我叫小明”
stu.sgrade = grade1
stu.save()

获得关联对象的集合

需求:获取python04班级的所有学生
格式:对象名.关联的对象名_set.all()
grade1.students_set.all()

创建一个学生属于‘’python04‘’班

stu1 = grade1.students_set.create(sname=u’曾志伟’,sgender=True,scontend=u’我叫曾志伟’,sage=45)

不用save()直接就创建成功

8、启动服务器

a、格式:

python manage.py runserver ip:port
ip可以不写,不写的话代表本机ip
port端口号默认是8000
python

  • 150
    点赞
  • 1516
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值