转载自: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搭建博客后台的更多相关文章

  1. Django搭建博客网站(四)

    Django搭建博客网站(四) 最后一篇主要讲讲在后台文章编辑加入markdown,已经在文章详情页对markdown的解析. Django搭建博客网站(一) Django搭建博客网站(二) Djan ...

  2. Django搭建博客网站(二)

    Django搭建自己的博客网站(二) 这里主要讲构建系统数据库Model. Django搭建博客网站(一) model 目前就只提供一个文章model和一个文章分类标签model,在post/mode ...

  3. 使用django搭建博客并部署

    2017/8/31 18:27:59 为了以后参考的方便,在这里总结一下django搭建博客网站的主要步骤.以下大部分的内容,参考自Django中文文档 - 看云. 需要强调的是,这里使用的djang ...

  4. Django搭建博客网站(三)

    Django搭建博客网站(三) 第三篇主要记录view层的逻辑和template. Django搭建博客网站(一) Django搭建博客网站(二) 结构 网站结构决定我要实现什么view. 我主要要用 ...

  5. Django搭建博客记(一)

    这里记录一些 Django 搭建博客遇到的一些问题 参考书籍为 Django by Example, 这里记录与书籍内容不包含的内容. 搭建环境: 阿里云 ECS + CentOS7 一开始搭建的时候 ...

  6. Django搭建博客网站(一)

    Django搭建自己的博客网站(一) 简介 这个系列主要是通过使用Django这个python web框架实现一个简单的个人博客网站.对Django有疑问可以上Django官网查文档. 功能 后台管理 ...

  7. Django 搭建博客记(二)

    当前博客实现的功能 实现 Markdown 语法功能 python 安装 markdown 模块 添加 markdown 过滤 实现代码高亮 通过 CSS 样本实现 分页功能 简单的关于页面和标签分类 ...

  8. django中博客后台将图片上传作为用户头像

    添加上传目录 # 如果不添加上传目录,仍然可以上传成功,默认为project目录,如果models.py定义了upload_to="目录名称",则会上传到"project ...

  9. Django搭建博客文章---模型层

    页面展示所需字段 1.文章标题---文本类型 2.文章摘要---文本类型 3.文章内容--文本类型 4.唯一的ID标记---int数字类型(自增.主键) 5.发布日期--日期类型 模型层定义字段 1. ...

随机推荐

  1. 【MySQL】MySQL for Mac 环境变量的配置

    昨天刚入的MacBookPro中配.目前已经深深爱上不能自拔. 各种快捷键.终端命令.各种编译器.系统偏好等,感觉压力好大,要学的东西好多. 入正题,项目需要MySQL,安装按照官网下载就没问题. 但 ...

  2. Eclipse小技巧<一>

    Eclipse是一款特别好用的开源开发工具,基于插件的特性使其能够进行各种语言的开发.非常喜欢eclipse里的编码风格,感觉这个开发工具十分灵活,又有很多开发的小技巧能够提高开发效率,每次学到一个t ...

  3. Windows 编译器选项 Runtime Library

    https://msdn.microsoft.com/library/2kzt1wy3%28v=vs.100%29.aspx http://blog.csdn.net/ybxuwei/article/ ...

  4. Android之APK文件签名——keytool和jarsigner

    一.生成密钥库将位置定位在jdk的bin文件中,输入以下命名行:keytool -genkey -alias ChangeBackgroundWidget.keystore -keyalg RSA - ...

  5. 数据仓库之ETL漫谈

    ETL,Extraction-Transformation-Loading的缩写,中文名称为数据抽取.转换和加载. 大多数据仓库的数据架构可以概括为: 数据源-->ODS(操作型数据存储)--& ...

  6. HDU 2227-Find the nondecreasing subsequences(dp+BIT优化)

    题意: 给你一个序列a[],求它的不降子序列的个数 分析: dp[i]表示以i结尾不降子序列的个数,dp[i]=sum(dp[j])+1(j<i&&a[j]<=a[i]); ...

  7. poj 1505 Copying Books

    http://poj.org/problem?id=1505 Copying Books Time Limit: 3000MS   Memory Limit: 10000K Total Submiss ...

  8. winscp配置

    WinSCP Install and run WinSCP Go to Preferences (Ctrl+Alt+P) and click on Transfer, then on Add. Nam ...

  9. Allegro从.brd文件中导出器件封装

    打开.brd文件,File→Export→Libraries,除了No libraries dependencies之外,所有选项都勾选上,设定好存放路径之后,Export. 注意事项: 1. 一般的 ...

  10. C 实现的算法篇

    算法的定义:算法是解决实际问题的一种精确的描述方法,目前,广泛认同的定义是:算法的模型分析的一组可行的确定的和有穷的规则 算法的五个特性:有穷性,确切性,输入,输出,可行性.目前算法的可执行的步骤非常 ...