Python Web开发 Django框架下开发一个博客【第四天】

版权声明:本文为博主原创文章,可以随意转载,但请附原地址或原作者名。谢谢! https://blog.csdn.net/farley119/article/details/82730121

引言

 在上一节中我们安装好了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来做。
好,这节就先这样吧。下节继续。
更多内容请关注公众号“计算机自学平台”

猜你喜欢

转载自blog.csdn.net/farley119/article/details/82730121