Python django框架笔记(二):创建应用和django 管理

#前提是已经创建项目

(一)      创建应用

使用命令,在项目中创建一个应用(blog自定义)

python manage.py startapp blog

创建完成后,可以看到下面几个文件

文件名

说明

migrations

修改数据库表结构记录

__init__.py

告诉Python这是一个包

admin.py

模型要在Django的管理工具中显示,必须在这个文件中注册模型

apps.py

配置当前APP

models.py

数据模型

tests.py

单元测试

views.py

视图函数(即MVC中的控制器)

(二)      添加模型类

models.py添加模型类

1 class BlogPost(models.Model):
2     title = models.CharField(max_length=150)
3     body = models.TextField()
4     timestamp = models.DateTimeField()

https://docs.djangoproject.com/en/dev/ref/models/fields/#field-types 这里可以查看完整的字段类型

(三)      配置setting.py文件

INSTALLED_APPS列表中增加应用名称

配置数据库连接:找到DATABASES 字典

(四)      建表、查看建表SQL

依次运行下面2个命令(建表/更新表结构)

python manage.py makemigrations blog    (告诉Django模型已经做了修改,并希望更新/创建对应的表结构,这个命令运行后,migrations文件夹下会出现一条记录)

python manage.py migrate   (建表/更新表结构,会自动根据模型创建对应的表。如果是Django自带的应用,直接执行这个命令建表就行了)

查看建表SQL:

python manage.py sqlmigrate blog 0001  (查看建表SQL)     

(五)      使用django管理

(1)        创建管理员账号:执行下面的命令创建用户

python manage.py createsuperuser

(2)        http://localhost:8000/admin/  登录

(六)      注册模型(注册后django 管理中才能测试这个模型)

(1)   admin.py文件添加下面的代码        

1 from blog.models import BlogPost
2 # Register your models here.
3 #设置管理工具中视图显示内容
4 class BlogPostAdmin(admin.ModelAdmin):
5     list_display = ('title','timestamp')
6 #注册模型BlogPost
7 admin.site.register(BlogPost,BlogPostAdmin)

(2)   在管理工具中测试

数据库应该可以看到创建的数据:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏优启梦

PHP配合javascript实现select快速设置默认值

今天在做一个select选中默认值的时候,不想用以前的老方法了,然后我就各种百度啊!

2036
来自专栏散尽浮华

分布式监控系统Zabbix-图形集中展示插件Graphtree

Zabbix想要集中展示图像,唯一的选择是screen,后来zatree解决了screen的问题,但性能不够好。Graphtree 由OneOaaS开发并开源出...

3257
来自专栏ytkah

怎么采集dedecms自定义内容模型

  有时我们需要用到dedecms提供的自定义内容模型功能去添加自定义内容模型来满足需求,那么dedecms自定义内同模型怎么添加采集规则呢?打开“/dede/...

2806
来自专栏ChaMd5安全团队

挖洞经验之代理不当日进内网

大家好,我是STCX,应M姐姐之邀写一篇文章为咱们公众号做点贡献,那我就扯一下之前挖一个漏洞的经验。 ---- 正向代理和反向代理是forward/revers...

3176
来自专栏Django中文社区

Django 博客统计文章阅读量

本文使用一种简单的方法来记录博客文章的阅读量。文章每被浏览一次,则其阅读量 +1,即所谓的文章页面 PV(Page View)数。 增加新字段 为了记录文章的浏...

4377
来自专栏FreeBuf

新型PPT钓鱼攻击分析(含gootkit木马详细分析)

1 概述 最近出现了一种新型的PPT钓鱼攻击方式,该种钓鱼攻击方式不需要宏就能实现执行powershell的功能,通过网络下载gootkit木马进行控制。 2 ...

3034
来自专栏云加头条

智能云上手指南:如何将历史数据迁移到万象优图

6 月 21 日,腾讯云在 2017「云+未来」峰会上推出了战略新品——智能云,宣布将腾讯积累近 20 年的 AI 能力向政府、企业和开发者开放,其中首批开放计...

3083
来自专栏IMWeb前端团队

JavaScript强化教程——Window Location

本文作者:IMWeb 王军 原文出处:IMWeb社区 未经同意,禁止转载 本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScr...

1999
来自专栏上善若水

S010SEAndroid中相关命令(一)seinfo

安全上下文是一个简单的、一致的访问控制属性,在SELinux中,类型标识符是安全上下文的主要组成部分,由于历史原因,一个进程的类型通常被称为一个域(domain...

1234
来自专栏云计算认知升级

【腾讯云的1001种玩法】 十分钟轻松搞定云架构 · 负载均衡的几种均衡模式

视频内容 [fyckc.jpeg] 今天,我们来学习一下负载均衡的几种均衡模式。通过了解负载均衡的均衡模式,我们可以更好的利用负载均衡来为我们的应用服务。 ...

5686

扫码关注云+社区