10分钟利用django搭建一个博客
以前老是听说ROR开发有多快多块,网上还有朋友为了证明这,专门制作了10分钟利用rails框架搭建一个简易博客的教程,最近学习django框架,觉得django给开发者的便捷也很多,心血来潮来写个10分钟用django搭建简易博客的教程。
写在文章前
我不是什么web高手,接触web不久,正努力往大神的方向追赶,高手看到这的时候可以去喝咖啡了!10分钟不能完成博客的全部功能,只能完成博客最基本的显示文章和标题的功能,如果大家有兴趣可以慢慢去完善,比如评论,RSS。界面上大家凑合看吧!哈哈。
我写这篇文章的时候使用的python2.7,django1.4,如果版本不一样的话相信也区别不大,个别参数或者路径不同罢了!下面的代码多用于linux,windows下区别不大稍微修改点就好!
建立项目
看到这里,就是假定你已经安装好了python和django了!这些问题相信官方文档能帮助你更多!
django-admin.py startproject mysite
我们会得到这样的文件结构
mysite ├── manage.py └── mysite├── __init__.py├── settings.py├── urls.py└── wsgi.py
编辑settings.py里DATABASES项如下
DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.'NAME': '/home/jove/mydb.md', # Or path to database file if using sqlite3.'USER': '', # Not used with sqlite3.'PASSWORD': '', # Not used with sqlite3.'HOST': '', # Set to empty string for localhost. Not used with sqlite3.'PORT': '', # Set to empty string for default. Not used with sqlite3.} }
这里数据库我选的sqlite方便,单文件,别的数据库也可以,填写方法类似,顺便说句,windows平台,我记得路径不同要填为
r'C:\py\mydb.md'
然后在主目录为项目添加一个app,这里我们命名为myblog
python2 manage.py startapp myblog
这时我们就可以看到目录中建立的app了
构建数据库
修改myblog/modesl.py加入如下内容,
from django.db import models from django.contrib import adminclass Blog(models.Model):title=models.CharField(max_length=120)body=models.TextField()time=models.DateTimeField()class BlogAdmin(admin.ModelAdmin):list_display=('title','time')admin.site.register(Blog,BlogAdmin)
在settings.py中的INSTALLED_APPS中添加
'myblog', 'django.contrib.admin',
修改urls.py为如下样式,只用删除几个注释即可
from django.conf.urls import patterns, include, url from django.contrib import admin admin.autodiscover()urlpatterns = patterns('',url(r'^admin/', include(admin.site.urls)), )
然后让django自动构建数据库,利用下面这一条命令
python2 manage.py syncdb
过程中会提示你创建管理员帐号,根据提示创建就好!
构造页面
基本上这个时候博客的功能就算完成了,但是在哪里显示呢,所以我们要构建一个前台页面,简单的博客,我们就用一个单页面完成! 在myblog文件夹里创建文件夹templates里面存放这我们要的模板,顺便建立一个模板叫archive.html内容如下
<html> <style type="text/css"> body{color:#efd;background:#453;padding:0 5em;margin:0} h1{padding:2em 1em;background:#675} h2{color:#bf8;border-top:1px dotted #fff;margin-top:2em} p{margin:len 0} </style> <body> <h1>my blog</h1> {% for post in posts %} <h2>{{post.title}}</h2> <p>{{post.time}}</p> <p>{{post.body}}</p> {% endfor %} </body> </html>
其中一个for循环就用来依次显示文章
然后我们创建一个视图函数编辑myblog/views.py如下
from django.template import loader,Context from django.http import HttpResponse from myblog.models import Blogdef archive(request):posts=Blog.objects.all()t=loader.get_template("archive.html")c=Context({'posts':posts})return HttpResponse(t.render(c))
接着处理首页的关联函数,编辑urls.py导入前面定义的函数并关联到主页,添加
from myblog.views import archive urlpatterns = patterns('',url(r'^$', archive), #......
运行测试
django自带开发服务器,方便了很多,只需要运行
python2 manage.py runserver
得到这样的显示
0 errors found
Django version 1.4.2, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
然后在浏览器中打开后台http://127.0.0.1:8000/admin你们应该看到的是这样子的
在blog中add添加然后可以看到简洁的文章输入界面,是不是有一点博客的味道了,呵呵,试试添加几篇文章,然后在首页去查看
到这里我们的教程就结束了。写的比较急,如果有错误还请指出!
转载于:https://www.cnblogs.com/xuweili/articles/3495838.html
10分钟利用django搭建一个博客相关推荐
- 10 分钟从零搭建个人博客
2000年,博客刚进入中国,却并不被看好,用户寥寥无几. 直到2005年,随着新浪.搜狐等门户网站的布局,博客逐渐在国内兴起. 但几年后,因微博.公众号等媒介的发展,博客的生存空间受到挤压,开始走向没 ...
- python django博客源码_利用Django实现一个博客(附全部源码)
不论什么语言,学Web开发必做的项目--个人博客. 本次项目基于Python的知名Web框架Django,从数据库到视图逻辑.再到模板语法,完整的走了一遍MTV开发流程. markdown非常适合写博 ...
- 利用Django实现一个博客(附全部源码)
不论什么语言,学Web开发必做的项目--个人博客. 本次项目基于Python的知名Web框架Django,从数据库到视图逻辑.再到模板语法,完整的走了一遍MTV开发流程. markdown非常适合写博 ...
- github项目怎么运行_利用 GitHub 从零开始搭建一个博客
"NightTeam",一个值得加星标的公众号. 趁着周末,搭建了一下 NightTeam 的官方博客和官方主页,耗时数个小时,两个站点终于完工了. 由于 NightTeam 的域 ...
- 利用 GitHub 从零开始搭建一个博客
"NightTeam",一个值得加星标的公众号. 趁着周末,搭建了一下 NightTeam 的官方博客和官方主页,耗时数个小时,两个站点终于完工了. 由于 NightTeam 的域 ...
- 如何利用 GitHub 从零开始搭建一个博客
趁着周末,搭建了一下 NightTeam 的官方博客和官方主页,耗时数个小时,两个站点终于完工了. 由于 NightTeam 的域名是 nightteam.cn,所以这里官方博客使用了二级域名 blo ...
- 运用BT在centos下搭建一个博客论坛
在日常的工作和学习中,我们都很希望有自己的工作站,就是自己的服务器,自己给自己搭建一个博客或者是论坛,用于自己来写博客和搭建网站论坛.现在我们就用一个简单的方法来教大家如何30分钟内部署一个博客网站. ...
- 利用Hexo搭建个人博客-博客初始化篇
上一篇博文 <利用Hexo搭建个人博客-环境搭建篇> 中,我们讲解了利用Hexo搭建个人博客应该要配置哪些环境. 相信大家已经迫不及待的想要知道接下来应该要怎么把自己的博客搭起来了,下面, ...
- Django搭建简易博客
Django简易博客,主要实现了以下功能 连接数据库 创建超级用户与后台管理 利用django-admin-bootstrap美化界面 template,view与动态URL 多说评论功能 Markd ...
最新文章
- ECMAScript5之JSON对象属性的遍历顺序
- 中国电信:回归根本的SOC发展之道
- extern C 在c 与 cxx间的使用
- json报文转化为xml报文_JSON与XML互相转化(Jackson)
- struts 2 配置通配符
- 达梦数据库部署多实例
- ensp查看历史配置命令_网络工程师 | 手把手教你用华为ensp模拟器玩vxlan实验(静态方式)...
- CentOS网络问题汇总
- SqlServer将特定字符串拆分并进行插入操作
- 即刻APP所有用户信息爬虫
- 大话企业IT安全解决方案
- 利用到路面提取道路中心线的方法
- STM32F4移植ucos_II
- 山东理工ACM[2444]正方形
- 独立思考Justic:Free to Choose and Who owns me
- CAD图导入SU中一次成面的方法
- 力荐神器级员工考核工具:谷歌OKR
- python supper代码详解
- php线下支付,Paypal线下支付模块,附下载地址_PHP教程
- mosquitto教程(三)开启服务器及客户端发布和订阅
热门文章
- a4如何打印双面小册子_怎样将十几几十页的长文件文档打印成A4纸对折的小册子?...
- au人声处理_Audacity音频处理
- 推荐 | 微软SAR近邻协同过滤算法相关问题(三)
- pyRedis - 操作指南:增/删/改/查、管道与发布订阅功能
- caffe+GAN︱PPGN生成模型5则官方案例(caffe版)
- mipi差分信号原理
- docker运行storm及wordcount实例
- Git学习笔记一《版本控制之道-使用Git》
- C++:STL之vector,deque对比
- 玩转PHP关联数组的10个技巧(3)