Django实战:构建一个blog

本篇博文教大家如何用Django框架实现一个博客系统,可在后台管理博客。

一,创建项目

django-admin.py startproject mysite

如下图所示:

运行该命令后,就会在当前目录下创建一个目录mysite

二,测试开发服务器

进入到mysite目录,然后运行./manage.py runserver 0.0.0.0:8001,如下图所示:

注意这里我选择的端口号是8001,你也可以选择别的端口(如8002),但是要注意的是这个端口不能被占用

我们在浏览器中输入129.168.129.140:8001,如下图所示:

看到上面的显示就表明你的开发服务器能正常运行。注意这里我输入的ip地址是129.168.129.140,你要换上你的ip地址

可ifconfig看,如下图所示:

三,新建blog应用

输入./manage.py startapp blog,如下图所示:

会在当前目录下面创建一个blog目录,该目录就对应我们的blog应用。

将应用blog添加到settings.py配置文件中

输入vim mysite/settings.py,将blog添加到INSTALLED_APPS中,如下图所示:

注意这一步是必须的,我们每新建一个app,就要在配置文件中添加这个app

四,设计Model

我们vim blog/models.py

然后修改它,如下图所示:

我们新建了一个Blog类,该类继承自models.Model。然后我们定义了三个成员变量title、body和time,这里要注意他们的类型。

我们的models.py是跟数据库打交道的,这里创建了Blog类,到时候在数据库中就会生成对应的Blog表,三个成员就会对应Blog表的三列。

五,设置数据库

我们要设置数据库(在mysite/settings.py中配置),以便生成对应models.py中定义类的表。

vim mysite/settings.py,然后做如下修改:

我这里设置的数据库是sqlite3,当然你也可以设置成mysql或其它的数据库。然后NAME那一项要设置数据库文件的路径,这里的路径是相对于项目的根目录来说的。

六,同步数据库

保存退出之后,在终端下输入./manage.py syncdb就可生成对应的表,如下图所示:

注意初次运行时,会问你需不需要创建一个超级用户,这里最好创建,以后会用到。

同步完成之后,就可以看到生成的sqlite3数据库文件了,如下图所示:

七,admin

admin是自动化的后台应用程序。admin作为一个应用,地位等同于我们刚才创建的应用blog,所以我们必须要在配置文件中声明它,如下图所示:

我们把这行注释去掉,如下图所示:

再执行命令./manage.py syncdb同步一下数据库,注意以后我们每添加一个app,都要同步数据库,以创建该app对应的各种表,如下图所示:

八,指定url

修改mysite/usrls.py文件,如下图所示:

将这行的注释给去掉,以后我们在浏览器中输入ip:port/admin/就可以访问了。

修改后如下图所示:

九,注册Model

为什么需要这一步?你需要告诉django要在admin窗口里显示哪一个model。

我们修改blog/models.py,如下图所示:

十,测试

在终端下输入./manage.py runserver 0.0.0.0:8001,如下图所示:

然后在浏览器中输入yourip:8001/admin,如下图所示:

登录:

这里输入第6步中设置的用户名和密码,就可以登录了,登录后如下图所示。

Django开发实战视频教程:http://www.duobei.com/course/3812028831

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-11 21:58:57

Django实战:构建一个blog的相关文章

[Java并发编程实战]构建一个高效可复用缓存程序(含代码)

[Java并发编程实战]构建一个高效可复用缓存程序(含代码) 原文地址:https://www.cnblogs.com/chengpeng15/p/9915800.html

django开发个人简易Blog——构建项目结构

开发之前第一步,就是构造整个的项目结构.这就好比作一幅画,第一步就是描绘轮廓,有了轮廓,剩下的就是慢慢的填充细节.项目结构规划如下图: 项目结构描述: 本项目以fengzhengBlog为根目录. admin.blogapp是两个app目录,用于实现项目主要功能:包括模型定义.视图定义等 css.js.images分别为样式文件.js.图片的静态文件存放目录. template目录存放模板文件. ueEditor是富文本编辑器uEditor的目录. settings.py是全局配置文件,urls

K8S实战-构建Django项目-06-持续构建

今天是K8S实战-构建Django项目,最后一讲.前面5将我们一步步通过k8s构建了一个django项目,通过考虑实际生产环境,我们添加了初始化功能,自动化构建功能,共享存储,数据加密,监控方案,日志方案.从无到有,我们一同走了一遍.最后一讲,我将带着大家利用现有的资源实现最简单的持续构建. 持续构建 设计 gitlab+jenkins+node+dockerfile+k8s gitlab作为仓库,jenkins设置触发器,node作为执行节点,dockerfile生产镜像,k8s构建资源. 实

K8S实战-构建Django项目-03-使用共享存储

上篇博文,发布之后,正好跟着双十一,不知道大家剁手了没~~.好啦,言归正传先声明一下,每周1,3,5更新教程,大家如果想要了解更多的教程可以重温一下之前的教程或者,关注崔格拉斯 公众号,大家想要源码的可以私信我~ 每日解析(11.9 每日一题解析) 昨天的教程中留下了一个问题:如何实现数据持久化,确保django project和数据库文件不随pod的销毁而销毁. 解析: 在上一篇教程中,我们已经使用了emptyDir 数据卷.这种数据卷对于当个容器来说是持久的,但是对于Pod来说并不是持久的.

Django入门第一步:构建一个简单的Django项目

Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将按照以下步骤创建功能完备的Web应用程序,并一路学习框架的一些最重要的功能以及它们如何协同工作. 学习目标: 了解Django是什么以及为什么他是一个伟大的web框架 了解Django的体系结构以及与其他框架的对比 独立搭建一个简单的Django项目和应用程序(app) 2.为什么要学习Django

如何基于Python构建一个可扩展的运维自动化平台

嘉宾简介 刘天斯 从事互联网运维工作已13年,目前就职于腾讯-互动娱乐部,负责游戏大数据的运营,曾就职于天涯社区,担任首席架构师/系统管理员. 热衷开源技术的研究,包括系统架构.运维开发.负载均衡.缓存技术.数据库.NOSQL.分布式存储.消息中间件.大数据及云计算.Mesos.Docker.DevOps等领域.擅长大规模集群的运维工作,尤其在自动化运维方面有着非常丰富的经验.同时热衷于互联网前沿技术的研究,活跃在国内社区.业界技术大会,充当一名开源技术的传播与分享者. 导言 受 Reboot

django开发个人简易Blog——数据模型

提到数据模型,一定要说一下MVC,MVC框架是现代web开发中最流行的开发框架,它将数据与业务逻辑分开,减小了应用之间的高度耦合.个人非常喜欢MVC开发框架,除了具有上述特性,它使得web开发变得非常灵活,在ASP.NET上表现的尤为强烈,传统的ASP.NET开发常常用到好多臃肿的服务器端控件,定制起来非常麻烦而且具有局限性.近年来,MVC遍地开发,在java.php.ruby..NET,甚至javascript中都有对应的MVC框架,当然了,django也是其中之一. 数据模型作为MVC的一部

我是如何构建一个持续发展的项目

说起项目,每个程序员都应该搭建过自己的项目,而我也搭建过数十个企业级或互联网级项目:在做企业级项目时也抽象了一套通过的开发脚手架ES方便开发,也做过一些通用的代码生成工具来生成通用项目架子或一些CRUD的代码.做这些平台或项目的时候或多或少给我一些启示和原则,而这些启示和原则一直指导着我内心方向,时刻指导我不偏离航线. 启示录 心中有原则 代码规范化 代码审查 代码重构 代码注释 代码逻辑抽象 工具类 项目闭环 持续改进 自动化 心中有原则 我认为这是搭建和维护项目的灵魂,失去了灵魂,项目虽然能

django开发个人简易Blog—nginx+uwsgin+django1.6+mysql 部署到CentOS6.5

前面说完了此项目的创建及数据模型设计的过程.如果未看过,可以到这里查看,并且项目源码已经放大到github上,可以去这里下载. 代码也已经部署到sina sea上,地址为http://fengzheng.sinaapp.com/ 先跳过视图展示及表单处理的部分,先介绍一下如何部署. 标题中已经把部署环境介绍的很清楚了: 服务器:CentOS6.5 其实就是我的开发机 mysql:Server version: 5.1.73 Source distribution nginx版本: nginx/1