Django(一)持续更新中

news/2024/7/8 2:52:27

一、Django基本流程和命令行工具

1. 安装Django

1
pip3 install django

2. 在当前目录新建一个mysite项目

1
django - admin.py startproject mysite

startproject命令创建一个目录,包含以下文件:

    __init__.py  # 空文件,让Python把该目录当成一个包

    manage.py  # 命令行工具,提供多种方式与django交互

    setting.py  # django项目的配置文件

    urls.py  # django项目的全局URL设置,可视其为你的django网站

3. 在当前项目中创建一个app01应用

1
python3 manage.py startapp app01

startapp命令创建一个目录,包含以下文件:

    __init__.py  # 空文件,让Python把该目录当成一个包

    models.py  # 数据模型

    views.py  # 视图函数(即MVC中的控制器)

    tests.py  # 单元测试

4. 配置setting.py文件

# 将应用加入到项目的配置文件中,添加到INSTALLED_APPS选项末尾

1
2
3
4
INSTALLED_APPS  =  [
...
'app01' ,
]

# 在项目文件夹下新建一个templates文件夹,并将文件夹路径添加到配置文件中

1
2
3
4
5
6
7
TEMPLATES  =  [
     {
         ....
         'DIRS' : [os.path.join(BASE_DIR,  'templates' )]
         ...
     },
]

# 配置使用MYSQL数据库

1
2
3
4
5
6
7
8
9
10
DATABASES  =  {
     'default' :{
         'ENGINE' 'django.db.backends.mysql' ,
         'NAME' 'test' ,
         'USER' 'root' ,
         'PASSWORD' 'mysql' ,
         'HOST' : '',
         'PORT' : '',
     }
}

'ENGINE':数据库引擎

'NAME':数据库名,要求已经在MYSQL中创建完成

'USER':MYSQL用户名

'PASSWORD':密码

'HOST':连接的MYSQL数据库,默认不写是127.0.0.1

'PORT':数据库端口,默认3306

# 设置中文以及中国时区

LANGUAGE_CODE = 'zh-Hans'

TIME_ZONE = 'Asia/Shanghai'

5. 编辑app01/model.py文件,创建数据模型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from  django.db  import  models
 
 
class  Publisher(models.Model):
     name  =  models.CharField(max_length = 30 , verbose_name = "名称" )
     address  =  models.CharField( "地址" , max_length = 50 )
     city  =  models.CharField( '城市' , max_length = 60 )
     state_province  =  models.CharField(max_length = 30 )
     country  =  models.CharField(max_length = 50 )
     website  =  models.URLField()
 
     class  Meta:
         verbose_name  =  '出版商'
         verbose_name_plural  =  verbose_name
 
     def  __str__( self ):
         return  self .name
 
 
class  Author(models.Model):
     name  =  models.CharField(max_length = 30 )
     hobby  =  models.CharField(max_length = 20 , default = "", blank = True )
 
     def  __str__( self ):
         return  self .name
 
 
class  AuthorDetail(models.Model):
     sex  =  models.BooleanField(max_length = 1 , choices = (( 0 '男' ), ( 1 '女' ),))
     email  =  models.EmailField()
     address  =  models.CharField(max_length = 50 )
     birthday  =  models.DateField()
     author  =  models.OneToOneField(Author)
 
 
class  Book(models.Model):
     title  =  models.CharField(max_length = 100 , verbose_name = "书名" )
     authors  =  models.ManyToManyField(Author)
     publisher  =  models.ForeignKey(Publisher, verbose_name = "出版社" )
     publication_date  =  models.DateField(null = True )
     price  =  models.DecimalField(max_digits = 5 , decimal_places = 2 , default = 10 , verbose_name = "价格" )
 
     def  __str__( self ):
         return  self .title

6. 同步数据库,生成数据库表

1
2
python3 manage.py makemigrations
python3 manage.py migrate

7. 创建admin管理用户

1
python3 manage.py createsuperuser

8. 编辑app01/admin.py文件,将数据库模型注册到admin中管理

1
2
3
4
5
6
7
from  django.contrib  import  admin
from  app01  import  models
 
admin.site.register(models.Publisher)
admin.site.register(models.Author)
admin.site.register(models.AuthorDetail)
admin.site.register(models.Book)

本文转自戴柏阳的博客博客51CTO博客,原文链接http://blog.51cto.com/daibaiyang119/1972206如需转载请自行联系原作者

daibaiyang119

http://www.niftyadmin.cn/n/4072640.html

相关文章

HTC是HTML Component的缩写

HTC是HTML Component的缩写,是IE5及后续版本浏览器所支持的客户端组件。据我个人理解,HTC就是一组以DHTML为基础封装了客户端行为的脚本,每HTC以*.htc的文件存储,一个HTC是一个客户端“类”。 编写HTC最重要的一点是知道element对…

利用Spring Data Redis 来实现消息的发布订阅机制

2019独角兽企业重金招聘Python工程师标准>>> redis是一款高性能key-value存储系统,不仅能做缓存,还能用于消息队列 这里利用Spring Data Redis 来实现消息的发布订阅机制 Demo地址:https://gitee.com/1913210361/redis-queue-demo…

H3C-实验七

对每台路由器的直连ip编写动态路由命令 路由器1 rip 1 network 192.168.1.0 network 10.1.1.0 undo summary undo network 10.0.0.0 version 2 network 10.1.1.0 0.0.0.3 路由器2 rip 1 network 10.1.1.0 undo summary undo network 10.0.0.0 version 2 network 10.1.1.0 0.0.0…

linux 删除!号

在linux 中,可能会有错误的或恶意的程序创建包含无法打印的字符的目录。定位和重命名这些目录,这样就可以更容易地检查并删除它们。要完成该操作,您首先需要在 ls中包含 -i开关,以获取该目录的索引节点的数值。然后,使…

音乐剧

音乐剧(Musical theater)是由喜歌剧及轻歌剧(或称“小歌剧”)演变而成的,早期称作“音乐喜剧”,后来简称为“音乐剧”,是19世纪末起源于英国的一种歌剧体裁,是由对白和歌唱相结合而演…

计算机二级报错学校能改吗,您好!我在报计算机等级考试的时候报错科目了,已经提交了还能修改嘛...

网上申报的话可以给主管考试部门打电话申请把你提交的资料退回重新提交。交费后,能退钱,基本上退不了,除非你去找考点的老师帮你取消报名。报名后,改科目,还是得去找考点的老师,也就是报考的学校。如果可以…

仿小米下载热榜,RecyclerView item轮流入场

具体使用方法在这:项目地址 下面说下具体实现: 首先,既然做了,那就多做几种模式,左右两边都可以设置轮流进入或是轮流退出,所以先定义两个枚举类来说明是哪种模式: public enum ScrollDirection…

MTF测试图卡规格

1.Imatest Chart Finder计算图卡大小 测试camera MTF时,需要知道所需要的图卡的大小,Imatest提供了一个网页,只要输入sensor的像素, 镜头的视场角,还有镜头到图卡的距离就可以得出图卡的大小。 网页链接[Imatest Chart…