django开发博客(1) 入门
2015-08-29 16:56
706 查看
现在正式开始博客开发
1、安装django1.4
如果你使用的是fedoraDVD版,安装时选择了web开发组建,这一步可以省略,因为它自带django环境
django下载地址 https://www.djangoproject.com/download/ 这里我们选择最新版
然后在终端下打开下载目录
如果系同时window
解压后再控制台进入解压后的目录
测试安装
打开Python的交互解释器
如果出现以下内容,安装成功!
2、新建project
打开终端 输入
有些需要输入
你会发现主文件夹下多出一个目录 blog
目录结构为
因为python自带sqlite3,为了方便我们就直接使用。
其它数据库的配置参见 https://docs.djangoproject.com/en/1.4/ref/databases/
现在我们配置models.py
然后,用下面的命令对校验模型的有效性:
validate 命令检查你的模型的语法和逻辑是否正确。 如果一切正常,你会看到 0 errors found 消息。 如果有问题,它会给出非常有用的错误信息来帮助你 修正你的模型。
最后
你将看到类似与下面的内容
其中 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开发博客(1) 入门
django开发博客(2) 模板和数据查询
django开发博客(3) 静态文件、from应用与自定义
django开发博客(4) comments库使用及ajax支持
django开发博客(5) markdown支持、代码高亮、gravatar头像服务
Django最佳实践(中文版)
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最佳实践(中文版)
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法