Python Web开发 Django框架下开发一个博客
优化关注头条号,私信回复资料会有意外惊喜呦………………最后一张照片有资料。
引言
在上一节中我们安装好了Django,并且创建了一个项目。既然我们已经有了项目,那我们就继续往下进行。这节我们开始在这个项目中创建一个应用。一个博客应用。这个应用用到的技术比较全面,也正好符合我们新入手的玩家。
创建应用
切换到我们的项目目录下面,然后运行指令:
./manage.py startapp myblog
运行结束会在我们当前目录下面生成一个myblog的文件夹。这就是我们的博客应用了。
然后我们看一下myblog目录下面的情况:
我们来分别解释一下这几个文件的作用
- init.py是告诉Python这是一个包
- urls.py应用的URL配置文件,这个文件不像mytest中的URLconf那样是自动创建的,这个需要我们自己创建,这个后面会说
- models.py数据模型
- views.py视图
- tests.py单元测试
配置应用
在配置之前要先说一个问题,看到这里的同学,心里应该有数,在上节我们先创建了一个项目,刚才又创建了一个应用。这两者是什么关系要搞清楚。应用可以在多个项目中使用,也可以打包分发给其它人使用。所以在我们当前这个项目县要想使用我们刚创建的这个应用,那就必须先把这个应用配置进我们当前的项目,也就是官方所谓的**。
**应用
打开mytest/settings.py,找到INSTALLED_APPS这个元组。将我们的应用路径加进去。
INSTALLED_APPS = [ ...
'myblog.apps.MyblogConfig',
]
那么问题来了,myblog.apps.MyblogConfig这个路径怎么来的?MyblogConfig这个配置是在myblog/apps.py里面。所以这里的路径就是myblog.apps.MyblogConfig。
配置好之后,运行命令
python manage.py makemigrations myblog
这样我们的应用就算是**了。
创建数据模型
上面我们已经把应用配置到了我们当前项目下面,下一步就是开始我们的开发了。其实这几之前说那么多都是废话,接下来要说的才是我们web开发中真正核心的东西。
首先声明,因为我们当前是学习阶段,所以采用的数据库是Python自带的sqlite,其它数据库也能用。但是需要你自己去百度。
闲话少叙,我们来思考一个问题,一个博客都需要什么内容?标题?内容?时间?这三个是最基本的吧,至于评论浏览量什么的后面再说。我们先实现这个最基础的功能。所以在我们的数据库中至少需要有一个表,这个表中有三个字段标题、内容、时间。
既然我们想清楚了,那么就开始动手写吧。在哪里写模型呢?根据前面的知识,当然是在models.py下面添加我们的数据模型了。
打开models.py添加一个表,然后在这个表中添加三个字段:
class BlogPost(models.Model):
title = models.CharField(max_length=150)
body = models.TextField()
timestamp = models.DateTimeField()
以后创建表的时候可以借鉴这个格式,表名BlogPost。然后加了三个字段分别是title表示标题,body表示内容。timestamp表示时间。等于号后面代表的是这个字段的数据类型。
插个小知识点,下面是Django中数据类型:
类型描述CharField字符串字段,一般用于较少文字的时候TextField字符串字段,一般用于较多文字的时候DateTimeField日期和时间BooleanField真/假字段
先了解这么多,需要了解更多的话我给你一个连接
https://docs.djangoproject.com/en/2.1/ref/models/fields/#datetimefield
我不知道你们能打开不能,反正我科学上网,哈哈…打不开的可以找我。我复制给你。
好了,数据模型已经创建好了,下面执行命令:
python manage.py migrate
执行完成之后,就会在我们的数据库中生成一个新的表格
myblog_blogpost就是我们刚才创建的表格,打开看下它里面的表结构:
看看是不是跟我们创建的一样呀?
有的同学该问了,不对呀,我没有创建id字段呀。为什么会多了一个id字段呢?因为这个id是Django系统自己创建的,一个唯一的自增长的key。这个不需要我们理会。了解sql原理的应该都可以理解。有时候为了这个唯一键会搞出很多事情。所以人家都帮你想好了,你只管开发就行了,其它事情交给Django来做。
很多人在问,学习Python读什么书,这其实是一个非常通用的问题,学习分为三种方式:看书、上课,而读书学习是最实惠也是最高效的一种,小编整理了一些Python高分书籍给大家,从0基础到高级适合不同学习阶段,希望大家学习愉快。获取方式:点击小编头像,关注后私信回复“资料”即可下载。