博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django(一)持续更新中
阅读量:5923 次
发布时间:2019-06-19

本文共 2998 字,大约阅读时间需要 9 分钟。

一、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
你可能感兴趣的文章
扩展欧几里德
查看>>
markdown入门杂记
查看>>
配置java软件
查看>>
JDBC 基本语法总结
查看>>
django 第二天
查看>>
【转】ios面试总结
查看>>
进程、线程和协程
查看>>
第一篇。
查看>>
keyevent
查看>>
【计算几何】bzoj1043 [HAOI2008]下落的圆盘
查看>>
cxf怎样提高webservice性能,及访问速度调优
查看>>
【BZOJ】1578: [Usaco2009 Feb]Stock Market 股票市场
查看>>
商品的规格参数设计
查看>>
@Autowired @Resource @Qualifier的区别
查看>>
C#程序之一:数字时钟和秒表
查看>>
TSC: Intro & Comments
查看>>
小程序wx:for循环列表数量的限制
查看>>
SQLite数据库管理工具,开发中...
查看>>
Keepalive双主搭建配置
查看>>
标签分类
查看>>