教程目录

1.1 CoolBlog开发笔记第1课:项目分析

1.2 CoolBlog开发笔记第2课:搭建开发环境

前言

  经过上一节我们已经创建了CoolBlog工程,但是关于CoolBlog的功能代码还没有写,Django只是帮助我们搭建好一个框架。在Django的思想中,希望我们将项目的功能分成一个个应用来进行开发,类似于开发插件,最后Django会安装好这些“插件”并运行。不过也没有必要划分的这么仔细,Django只是想让我们的项目更有层次性,我们完全可以将关联比较密切的几个功能统一成一个应用。

  通过1.1节,我们对整个项目的功能做了一个整体的认知,大体可以将其分为三个应用来进行开发:

  1. 文章、分类和标签这三者关系紧密,可以统一作为一个应用来开发,相当于前台,名称为home。
  2. 评论功能虽然和文章有很大的关系,但是评论功能的实现可能会用到第三方插件,我还是倾向于将其作为独立的应用,名称定为:comments。
  3. 搜索功能可以作为独立的应用,名称定为:search。

  接下来我们依次开发上述应用,首先我们开发home应用。在命令行中,激活虚拟环境,进入manage.py所在目录,并运行python manage.py startapp home命令创建home应用,如下图所示。

1.19 创建应用

这时候会在CoolBlog生成了一个home文件夹,我们看一下目录结构。

1.20 应用目录结构

  在生成应用的时候,我们用到了startapp命令,在启动项目的时候,用到了runserver命令,这是Django为了方便我们开发提供的一些快捷方式,而manage.py就是这个快捷方式的入口。幸亏有了这些命令,不然我们新建应用,需要建立好多文件。

在图1.20的目录结构中,主要对home目录下的几个文件或文件夹进行说明:

  • migrations文件夹用来存放对数据库的改动
  • admin.py是用来向Django后台注册应用,并可以自定义在管理后台的显示和过滤方式
  • models.py是用来描述应用的数据库模型,Django会通过ORM的方式将模型映射成数据库的真实改动。
  • views用来定义视图处理方式,对于不同的url请求,我们该如何处理。

创建完应用就结束了吗?当然没有。这个时候还没有告诉Django这个应用的存在,需要注册这个应用,类似于安装插件。在CoolBlog文件夹中还有一个同名的CoolBlog文件夹,里面的文件是关于整个工程的配置信息。

打开其中的settings.py文件找到INSTALLED_APPS字段,将home应用的名称添加其中。

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'home',#注册home目录
]

  大家可以看到除了我们自己添加的应用,还有一些Django内置的应用,这就是Django强大的地方。很多功能Django都帮我们实现了,比如后台管理,权限控制与认证等等,这样做一些大点的工程就会变得非常快捷,在这里要感谢一下Django的开发团队。本节创建应用结束,下一节开始设计home应用的数据库模型,在Web项目的开发中,数据库模型的设计始终是整个项目的重中之重。

最后

我新书《Python爬虫开发与项目实战》出版了,如果大家对这本书感兴趣的话,可以看一下 试读样章

欢迎大家支持我公众号:

CoolBlog开发笔记第3课:创建Django应用的更多相关文章

  1. CoolBlog开发笔记第4课:数据库模型设计

    教程目录 1.1 CoolBlog开发笔记第1课:项目分析 1.2 CoolBlog开发笔记第2课:搭建开发环境 1.3 CoolBlog开发笔记第3课:创建Django应用 前言 我新书<Py ...

  2. CoolBlog开发笔记第5课:请求与响应

    教程目录 1.1 CoolBlog开发笔记第1课:项目分析 1.2 CoolBlog开发笔记第2课:搭建开发环境 1.3 CoolBlog开发笔记第3课:创建Django应用 1.4 CoolBlog ...

  3. CoolBlog开发笔记第2课:搭建开发环境

    教程目录 1.1 CoolBlog开发笔记第1课:项目分析 前言 今天是CoolBlog开发笔记的第2课,我们将要讲解的是开发环境的搭建.俗话说"工欲善其事必先利其器",Djang ...

  4. CoolBlog开发笔记第1课:项目分析

    首先说一下CoolBlog开发笔记是我制作的<Django实战项目>系列教程基础篇的内容,使用Django来开发一个酷炫的个人博客,涉及的知识包括项目的分析,环境的搭建,模型和视图定义等等 ...

  5. [APP] Android 开发笔记 002-命令行创建默认项目结构说明

    接上节:[APP] Android 开发笔记 001 4. 默认项目结构说明: 这里我使用Sublime Text 进行加载.

  6. Ionic2开发笔记(2)创建子页面及其应用

    1. 当你第一次产生ionic2应用程序,这是生成的项目结构 ├── ├── config.xml      这包含配置应用程序的名称,和包名,将被用于我们的应用程序安装到一个实际的设备. ├── h ...

  7. 运维开发笔记整理-创建django用户

    运维开发笔记整理-创建django用户 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.创建普通用户 C:\Users\yinzhengjie\softwares\Pycharm ...

  8. Django开发笔记(一)

    Django开发笔记(一) 标签(空格分隔): Django Python 1. 创建并运行Django项目 创建开发环境 安装Django pip install django==version 执 ...

  9. 运维开发笔记整理-Django模型语法

    运维开发笔记整理-Django模型语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模型基本概念 1>.什么是模型 模型是你的数据唯一的,权威的信息源.它包含你所存储数 ...

随机推荐

  1. 开源分布式任务调度平台Cuckoo-Schedule

    1         概述 1.1      平台概述 Cuckoo-Schedule是基于Quartz-Schedule的轻量级任务调度框架,具有易学习.易上手.开发高效稳定的特点.Demo地址:ht ...

  2. ST-4

    1.(49-7)使用下面的方法printPrimes()完成后面的问题: (a)为printPrimes()方法画控制流图. (b)考虑测试用例t1=(n=3)和t2=(n=5).即使这些测试用例游历 ...

  3. Java学习笔记——设计模式之一.简单工厂

    蜀道之难.难于上青天,侧身西望长咨嗟 --蜀道难 设计模式第一篇,简单工厂. 定义Operation类 package cn.no1.simplefactory; public abstract cl ...

  4. C# 时间格式总结

    C#时间/日期格式大全 C#时间/日期格式大全,C#时间/日期函数大全 有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06- ...

  5. 18个你可能不相信是用CSS制作出来的东西

    与流行的看法相反,CSS不仅仅是用来提供一个WEB页面的基本风格,以使它看起来更有吸引力.还有很多其他的事情,CSS也可以做的很好.由于它创建动画和交互的能力,CSS集合HTML以及JavaScrip ...

  6. Editplus配置java运行环境以及其他需求的简单设置

    java配置 首先,打开"工具"(tools)选项,选择"配置自定义工具组"(英文版 是倒数第二个)然后按照上面第二幅图片来配置javac环境,其中命令一栏是j ...

  7. prop()、attr()和data()

    设置元素属性,用attr()还是prop()? 对于取值为true /false的属性,如 checked/selected/readonly或者disabled,使用prop(),其他属性使用 at ...

  8. struts2.1.6教程八、验证机制

    注意:要想实现校验,action必须继承自ActionSupport类. 1.基于手工编码的校验 我们建立struts2validate项目 ,其中reg.jsp页面主要代码如下: <body& ...

  9. A Bayesian election prediction, implemented with R and Stan

    If the media coverage is anything to go by, people are desperate to know who will win the US electio ...

  10. Eclipse导入项目常见问题----jdk版本问题(有个红色感叹号)01

    我们导入项目时,有时会看到项目上有一个[红色的感叹号!],这说明该项目的jdk版本和你的电脑安装的jdk版本不匹配. 可能导入的项目时jkd1.6,1.8等等,而你安装的是jdk1.7 如下图: 解决 ...