Django 博客开发教程 2 - 建立 Django 博客应用

news/2024/11/14 7:01:07

建立博客应用

我们已经建立了 Django 博客的项目工程,并且成功地运行了它。不过到目前为止这一切都还只是 Django 为我们创建的项目初始内容,Django 不可能为我们初始化生成博客代码,这些功能性代码都得由我们自己编写。

Django 鼓励我们把自己编写的代码组织到应用(Application)里,并且最好是一个应用只提供一种功能。例如我们要开发的 Django 博客,相关的代码都放在 blog 这个应用里。其实应用也没什么复杂的,不过是把功能相关的代码组织到一个文件夹里,这个文件夹就成了一个应用(姑且可以这样理解)。

我们可以在 Django 工程目录下手动地建立一个文件夹,为它取个名字,并且告诉 Django 说这是一个应用。但是我们不必做这些无聊的工作,Django 已经为我们提供了自动创建应用的命令。

现在就来创建我们的 Django 博客应用,我把它命名为 blog。激活虚拟环境,进入到 manage.py 文件所在的目录下,运行 python manage.py startapp blog 命令即可建立一个 blog 应用:

C:\WINDOWS\system32>C:\Users\yangxg\Envs\blogproject_env\Scripts\activate

(blogproject_env) C:\WINDOWS\system32>cd C:\Users\yangxg\Workspace\blogproject

(blogproject_env) C:\Users\yangxg\Workspace\blogproject>python manage.py startapp blog

前面已经说过,manage.py 是我们的工程管理助手。上一章中我们使用了它的 runserver 命令开启了一个本地开发服务器,在这里我们使用 manage.py 的 startapp 命令创建了一个 blog 应用。

应用的目录结构

用资源管理器打开 manage.py 文件所在的目录,可以看到多了一个 blog 的目录,该目录下面的文件结构如下:

blog\
    __init__.py
    admin.py
    apps.py
    migrations\
        __init__.py
    models.py
    tests.py
    views.py

不同名称的文件用于存放特定功能的代码,这些将会在后面详细介绍。总之这个应用的文件夹结构 Django 已经为我们建立好了,但它还只是包含各种文件的一个文件夹而已,Django 目前还不知道这是一个应用。我们得告诉 Django 这是我们建立的应用,专业一点说就是在 Django 的配置文件中注册这个应用。

打开 blogproject 目录下的 settings.py 文件,看名字就知道 settings.py 是一个设置文件(setting 意为设置),找到 INSTALLED_APPS 设置项,将 blog 应用添加进去。

blogproject/blogproject/settings.py

## 其他配置项...

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
       'blog', # 注册 blog 应用
]

## 其他配置项...

可以看到 Django 已经为我们提供了一些内置的应用,这些应用提供了各种各样的功能。这就是 Django 强大的地方,通用的功能 Django 都帮我们写好了,我们只需编写与自身业务相关的功能代码即可。

总结

本章节的代码位于:Step2: create blog app。

如果遇到问题,请通过下面的方式寻求帮助。

  • 在 建立 Django 博客应用 - 追梦人物的博客 的评论区留言。

  • 将问题的详细描述通过邮件发送到 djangostudyteam@163.com,一般会在 24 小时内回复。

更多Django 教程,请访问 追梦人物的博客。


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

相关文章

关于在项目中有没有必要使用docker的一点感悟

2019独角兽企业重金招聘Python工程师标准>>> 一、背景 笔者在一家供应链公司,主要业务是跨境商品,公司研发部门成立于2016年4月,还是比较年轻的,项目开发采用传统的MVC架构,平台交易量不是很大不大。 二、使…

静态类型检查与继承

类型检查(type checking)是指确认任一表达式的类型并保证各种语句符合类型的限制规则的过程。Java是静态类型检查的语言,可是仍然须要执行期类型检查,并抛出可能的执行时异常。 Wiki: Static type-checking is the process of verifying the type safety…

2017-05-25 前端日报

搜车 React Native 依赖管理方案React Native 持续部署VueConf尤雨溪演讲视频Redux状态管理之痛点、分析与改良The Tools of an HTML Email WorkflowECMAScript modules in browsersThe state of JavaScript modules【墙】

【面向对象设计原则】之依赖倒置原则(DIP)

依赖倒转原则(Dependency Inversion Principle, DIP):抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对抽象(接口)编程,而不是针对实现细节编程。 开闭原则(OCP)是面向对象…

连载:面向对象葵花宝典:思想、技巧与实践(34) - DIP原则

DIP,dependency inversion principle,中文翻译为“依赖倒置原则”。DIP是大名鼎鼎的Martin大师提出来的。他在1996 5月的C Reporter发表“ The Dependency Inversion Principle”的文章具体阐述了DIP原则,而且在他的经典著作《 Agile Softwar…

希捷银河声音大_技术成熟:希捷表示将直接推出 24TB HAMR 硬盘

本文转自:IT之家作者:信鸽随着 SSD 固态硬盘技术的稳步推进,以及国产 NAND 颗粒的成功量产,传统机械硬盘厂商面临着越来越大的压力,而 HAMR(热辅助磁记录)技术,是提高存储密度的新一代解决方案。据外媒 BLO…

Kali渗透测试——WOL-E

网络唤醒工具WOL-E 网络唤醒(WOL)是非常有用的一个功能。电脑开启WOL功能后,当电脑长期没人使用会进入待机状态。这时,其他电脑就可以借助WOL功能,通过网络唤醒该计算机。在渗透测试中,寻找网络中支持网络唤…

zemax迈克尔逊干涉仪_诺贝尔物理学奖史演义系列(六)——迈克尔逊

迈克尔逊干涉仪是光学领域里最常见的干涉仪,是近代物理学的重要实验仪器之一。清晨起床,一缕阳光洒进房间,寓示着新的一天开始了。虽然太阳离地球非常遥远,但阳光只需要几秒钟就可以到达地面,由此可见光的速度非常快。…