您的位置:首页 > 编程语言 > Go语言

django开发博客(1) 入门

2015-08-29 16:56 706 查看
现在正式开始博客开发
1、安装django1.4
如果你使用的是fedoraDVD版,安装时选择了web开发组建,这一步可以省略,因为它自带django环境
django下载地址 https://www.djangoproject.com/download/ 这里我们选择最新版
然后在终端下打开下载目录
tar xzvf Django-*.tar.gz 。

cd Django-* 。

sudo python setup.py install

如果系同时window
解压后再控制台进入解压后的目录
python setup.py install


测试安装
打开Python的交互解释器
如果出现以下内容,安装成功!
>>> import django
>>> django.VERSION
(1, 4, 1, 'final', 0)

2、新建project
打开终端 输入
django-admin startproject blog

有些需要输入
django-admin.py startproject blog

你会发现主文件夹下多出一个目录 blog
目录结构为
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',  # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': '/home/gs/blog/datas/mydata.db',  # 这里是我数据库文件存放的目录,你应该替换成你自己的.
'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.
}
}


因为python自带sqlite3,为了方便我们就直接使用。
其它数据库的配置参见 https://docs.djangoproject.com/en/1.4/ref/databases/
现在我们配置models.py
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.locale.LocaleMiddleware',
# Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
'django.contrib.admindocs',
'sblog',
)


然后,用下面的命令对校验模型的有效性:
python manage.py validate

validate 命令检查你的模型的语法和逻辑是否正确。 如果一切正常,你会看到 0 errors found 消息。 如果有问题,它会给出非常有用的错误信息来帮助你 修正你的模型。
最后
python manage.py syncdb

你将看到类似与下面的内容
#!/usr/bin/python
# -*- coding: utf-8 -*-

from django.contrib import admin
from sblog.models import Author, Blog, Tag

class AuthorAdmin(admin.ModelAdmin):
"""docstring for AuthorAdmin"""
list_display = ('name', 'email', 'website')
search_fields = ('name',)

class BlogAdmin(admin.ModelAdmin):
"""docstring for BlogAdmin"""
list_display = ('caption', 'id', 'author', 'publish_time')
list_filter = ('publish_time',)
date_hierarchy = 'publish_time'
ordering = ('-publish_time',)
filter_horizontal = ('tags',)
# raw_id_fields = ('author',)  # 它是一个包含外键字段名称的元组,它包含的字段将被展现成`` 文本框`` ,而不再是`` 下拉框`` 。

admin.site.register(Author, AuthorAdmin)
admin.site.register(Blog, BlogAdmin)
admin.site.register(Tag)

其中 AuthorAdmin 和 BlogAdmin 是 自定义ModelAdmi类 用于自定义admin显示

list_display = ('caption', 'id', 'author', 'publish_time') 表示 按照 caption id author publish_time 显示 另外,点击每个列的列头可以对那列进行排序。

search_fields = ('name',) 刷新浏览器,你会在页面顶端看到一个查询栏。我们刚才所作的修改列表页面,添加了一个根据姓名查询的查询框

list_filter = ('publish_time',) 用于在右边生成一个过滤器,按照发表时间过滤

date_hierarchy = 'publish_time' 也是时间过滤器 修改好后,页面中的列表顶端会有一个逐层深入的导航条,它从可用的年份开始,然后逐层细分到月乃至日。

ordering = ('-publish_time',) 按照发表时间排序 默认是从前往后排序 加‘-’表示将最近发表的放到前面,从后往前倒序排列

filter_horizontal = ('tags',) 用于多对多字段显示,出现一个精巧的JavaScript过滤器,它允许你检索选项,然后将选中的tag从Available框移到Chosen框,还可以移回来

其它一些自定义方法参见文档吧 https://docs.djangoproject.com/en/1.4/ref/contrib/admin/
到现在为止,我们已经可以使用admin管理我们的博客

【Django博客开发】系列文章:

django常用命令

django开发博客(1) 入门

django开发博客(2) 模板和数据查询

django开发博客(3) 静态文件、from应用与自定义

django开发博客(4) comments库使用及ajax支持

django开发博客(5) markdown支持、代码高亮、gravatar头像服务

Django最佳实践(中文版)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Django Python