Django搭建博客后台
转载自:http://sanwen8.cn/p/1cboypN.html
首先创建项目和blog应用:
在cmd命令行下,输入:
django-admin.py startproject myblog
然后进入myblog目录,命令行下输入:
python manage.py startapp blog
这是你的myblog下有两个目录,一个是myblog,目录下有文件:__init__.py,settings.py, urls.py,wsgi.py, 一个是blog,目录下有如下文件:__init__.py,admin.py,models.py,tests.py,views.py,这些都是django自动为我们生成的,后续这些文件我们基本都会用得到,现在我们先不理会这些,用到了我们自然就会知道具体他们什么用途,现在重要的是要告诉django这个应用(app)这是我们项目的一部分,我们编辑settings.py文件,把INSTALLED_APPS里边内容修改成像如下内容一样:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
)
好,经过以上步骤我们就把整个项目搭建起来了,下面我要进入代码部分了,其实也很简单,我们先设计我们的数据模型(Model),因为这是最基础的,发表的文章要存储起来,打开blog目录下的models.py文件,最后保存的内容如下:
from django.db import models
from django.contrib import admin
# Create your models here.
class BlogPost(models.Model):
title = models.CharField(max_length=150)
body = models.TextField()
timestamp = models.DateTimeField()
class Meta:
ordering = ('-timestamp',)
class BlogPostAdmin(admin.ModelAdmin):
list_display = ('title', 'timestamp')
这样就完了,我们一共就写了三个字段内容,文章标题,文章内容和发布时间,接下来我们要建立数据库表了,在这里我说下,django默认就支持sqlite3数据,所以,如果你采用的sqlite3数据库,你什么都不用修改,如果你采用的mysql数据库,就要设置settings.py文件里的数据库引擎,数据库名称,主机,用户,密码,这里为了简单,我用默认django的sqlite3数据库,我什么也不用设置。
再说一次,如果你用的 sqlite3数据库,请运行如下命令,建立数据库表(命令行):
python manage.py syncdb
运行后你会看到django创建表的输出,运行syncdb这个命令意思是django会查找INSTALLED_APPS里的每个models.py文件,然后为每个model创建一张数据表,到最后你会被问些问题(很抱歉,具体输出信息这段我没能保存下来,只能描述了),不过话说回来,提示的因为也非常简单,所有单词都没超初中英语单词水平:
第一个问题是问是否创建一个超级用户,敲yes
然后输入用户名
然后是邮件
最后是密码
然后就结束了
建立完数据库,我们注册我们的models,打开blog下的admin.py,输入:
from django.contrib import admin
from blog.models import BlogPost,BlogPostAdmin
# Register your models here.
admin.site.register(BlogPost, BlogPostAdmin)
最后在访问这前,我们设置访问的url,设置myblog/的urls.py,保存如下:
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
url(r'^admin/', include(admin.site.urls)),
)
好了,启动项目,在命令行下输入:
python manage.py runserver
然后可以打开我们页面看看了,在地址栏输入:
http://127.0.0.1:8000/admin/
进入登录界面,输入刚才的用户和密码,就可以看到界面如下:
其中blog是我们的应用,点击进去可以添加文章,好了,今天我们就先到这里,总结下我们今天学习了什么:
1、创建django项目和应用
2、创建Model,建立数据库表
3、设置settings文件,包含blog
4、设置urls文件,确定访问网站的url
5、注册我们的app,集成django-admin
6、访问我们的后台,添加文章
Django搭建博客后台的更多相关文章
- Django搭建博客网站(四)
		
Django搭建博客网站(四) 最后一篇主要讲讲在后台文章编辑加入markdown,已经在文章详情页对markdown的解析. Django搭建博客网站(一) Django搭建博客网站(二) Djan ...
 - Django搭建博客网站(二)
		
Django搭建自己的博客网站(二) 这里主要讲构建系统数据库Model. Django搭建博客网站(一) model 目前就只提供一个文章model和一个文章分类标签model,在post/mode ...
 - 使用django搭建博客并部署
		
2017/8/31 18:27:59 为了以后参考的方便,在这里总结一下django搭建博客网站的主要步骤.以下大部分的内容,参考自Django中文文档 - 看云. 需要强调的是,这里使用的djang ...
 - Django搭建博客网站(三)
		
Django搭建博客网站(三) 第三篇主要记录view层的逻辑和template. Django搭建博客网站(一) Django搭建博客网站(二) 结构 网站结构决定我要实现什么view. 我主要要用 ...
 - Django搭建博客记(一)
		
这里记录一些 Django 搭建博客遇到的一些问题 参考书籍为 Django by Example, 这里记录与书籍内容不包含的内容. 搭建环境: 阿里云 ECS + CentOS7 一开始搭建的时候 ...
 - Django搭建博客网站(一)
		
Django搭建自己的博客网站(一) 简介 这个系列主要是通过使用Django这个python web框架实现一个简单的个人博客网站.对Django有疑问可以上Django官网查文档. 功能 后台管理 ...
 - Django 搭建博客记(二)
		
当前博客实现的功能 实现 Markdown 语法功能 python 安装 markdown 模块 添加 markdown 过滤 实现代码高亮 通过 CSS 样本实现 分页功能 简单的关于页面和标签分类 ...
 - django中博客后台将图片上传作为用户头像
		
添加上传目录 # 如果不添加上传目录,仍然可以上传成功,默认为project目录,如果models.py定义了upload_to="目录名称",则会上传到"project ...
 - Django搭建博客文章---模型层
		
页面展示所需字段 1.文章标题---文本类型 2.文章摘要---文本类型 3.文章内容--文本类型 4.唯一的ID标记---int数字类型(自增.主键) 5.发布日期--日期类型 模型层定义字段 1. ...
 
随机推荐
- 64位SqlServer通过链接服务器与32位oracle通讯
			
在SQL SERVER里只安装了32位的oracle客户端的情况下,添加链接服务器然后执行查询会报如下信息: 原因:在64位的SQL Engine中已经不提供MSDAORA 的驱动了,可以使用Ora ...
 - Grunt + Bower—前端构建利器(转)
			
目前比较流行的WEB开发的趋势是前后端分离.前端采用重量级的Javascript框架,比如Angular,Ember等,后端采用restful API的Web Service服务,通过JSON格式进行 ...
 - angular依赖注入的理解(转)
			
使用过java进行开发的人肯定知道大名鼎鼎的spring框架,对于spring的IOC肯定也有所了解,通过配置文件定义好bean之后,如果需要使用这些bean,不需要自己去实例化,而是跟spring这 ...
 - Python中文乱码的处理
			
为什么Python使用过程中会出现各式各样的乱码问题,明明是中文字符却显示成“\xe4\xb8\xad\xe6\x96\x87”的形式? 为什么会报错“UnicodeEncodeError: 'asc ...
 - 庖丁解牛-----Live555源码彻底解密(RTP打包)
			
本文主要讲解live555的服务端RTP打包流程,根据MediaServer讲解RTP的打包流程,所以大家看这篇文章时,先看看下面这个链接的内容; 庖丁解牛-----Live555源码彻底解密(根据M ...
 - 数学语言和程序语言的对比:面向过程与面向集合&命题
			
共同之处:都使用字符串或数值来引用一个客观实体.当然数字和字符串也可以作为实体对象,这取决于人的解释. 不同之处:数学语句每一行都给出了一个结论, 程序语句的每一行都定义了一个过程.注意这里所指的程序 ...
 - ORACLE之手动注册监听listener。alter system set local_listener="XXX"
			
记录下刚刚做的一个为一个数据库(t02)配置多个监听(listener)的实验,过程有点小曲折. (1)新增两个测试的监听,listener.ora的配置内容(可纯手动编辑该文件或使用netca)如下 ...
 - .NET/ASP.NET Routing路由(深入解析路由系统架构原理)http://wangqingpei557.blog.51cto.com/1009349/1312422
			
阅读目录: 1.开篇介绍 2.ASP.NET Routing 路由对象模型的位置 3.ASP.NET Routing 路由对象模型的入口 4.ASP.NET Routing 路由对象模型的内部结构 4 ...
 - window.history
			
作者:zccst 旧版: forword() backword() go(number) HTML5中新增了 onhashchange 浏览器兼容性较好,用得较多 pushState / repla ...
 - Android中ListView中有button,checkbox,GridView时事件问题
			
最近做项目,用到了listview的item的一些问题,现在抽空把它们总结一下: 转载请表明出处:http://blog.csdn.net/wdaming1986/article/details/67 ...