django admin框架使用系列之一:配置djang admin环境
By:Roy.LiuLast updated:2012-12-18
django的三大特点:一是orm,二是模板,三是admin管理框架.最近在做一个内部的小系统,边学边做,于是就有了这些学习记录, 用django admin 来搭建环境,可以减少很多工作量,常用表的增删改查,基本全部有现成的,不需要你写代码,只需要稍做配置就可以了,另外django admin 的模板也是可以扩展的,如果不能满足自己需要的,可以定制扩展。
基本环境:
1.eclipse+pydev2.7.1 (http://sourceforge.net/projects/pydev/files/ 这里可以下载)
2.python 2.7
3.django 1.4 (目前的稳定版本,不过貌似django 1.5要出来了)
4.mysql 5.0+ ,创建数据库djangoadmin utf-8编码.
可能有些人不需要开发工具,直接用django提供的命令行就可以,然后用文本编辑器或其他工具编辑,也是可以的,个人爱好eclipse而已.
创建django工程
新建一个djang工程,选择eclipse菜单new-other,弹出如下界面,
然后点击"next" 输入 工程名字 :djangoadmin,继续"next"...直到选择django的版本.
输入数据库相关信息,点击"finish" 于是就创建了django工程.
如果是使用命令行的,用如下命令.
注意django-admin.py 在python 的安装目录的site-package/django/bin 目录下. 所以如果没有配置环境变量的话,很有可能要输入django-admin.py 文件的全路径去运行这个命令.
开始配置 django admin 环境
django admin 也是一个 app ,因此有必须在settings.py 中做一些配置.
1. 将 'django.contrib.admin' 加入到 INSTALLED_APPS 的配置中,
2. 在 INSTALLED_APPS 中还必须包括以下三个:'django.contrib.auth', 'django.contrib.contenttypes' 和 'django.contrib.sessions' ,因为 django admin 必须用到以上几个APP配合,比如认证,SESSION管理等.
3. 确保 MIDDLEWARE_CLASSES 包含以下: 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware' ,'django.contrib.auth.middleware.AuthenticationMiddleware'.
4. 运行 python manage.py syncdb 命令,当然,你也可以直接通过pydev来做.
右键点击djangoadmin 工程 出现下图:
然后会提示创建数据库表,创建超级用户等.按提示完成.
你打开你的数据库,你会发现创建了很多数据表.
5. 配置urls.py
运行测试
如果用命令行的话,请采用.
如果是eclipse 的话,右键点击 djangoadmin工程,然后选择run as -->Pydev:django, 就启动了server,
打开网页 :http://127.0.0.1:8000/admin/
用刚刚创建的超级用户登录进去,看到主界面
以上是环境配置过程,在后面,还将继续写如何 实现数据表的增删改查,怎么注册自己的类到admin ,怎么扩展django admin, 怎么扩展 django user model, 怎么覆盖django admin 自身的url ,用自定义的来实现,django admin 里面自定义的国际化等的处理,目前这是提纲,后续继续跟进.
基本环境:
1.eclipse+pydev2.7.1 (http://sourceforge.net/projects/pydev/files/ 这里可以下载)
2.python 2.7
3.django 1.4 (目前的稳定版本,不过貌似django 1.5要出来了)
4.mysql 5.0+ ,创建数据库djangoadmin utf-8编码.
可能有些人不需要开发工具,直接用django提供的命令行就可以,然后用文本编辑器或其他工具编辑,也是可以的,个人爱好eclipse而已.
创建django工程
新建一个djang工程,选择eclipse菜单new-other,弹出如下界面,
然后点击"next" 输入 工程名字 :djangoadmin,继续"next"...直到选择django的版本.
输入数据库相关信息,点击"finish" 于是就创建了django工程.
如果是使用命令行的,用如下命令.
python django-admin.py startproject djangoadmin
注意django-admin.py 在python 的安装目录的site-package/django/bin 目录下. 所以如果没有配置环境变量的话,很有可能要输入django-admin.py 文件的全路径去运行这个命令.
开始配置 django admin 环境
django admin 也是一个 app ,因此有必须在settings.py 中做一些配置.
1. 将 'django.contrib.admin' 加入到 INSTALLED_APPS 的配置中,
2. 在 INSTALLED_APPS 中还必须包括以下三个:'django.contrib.auth', 'django.contrib.contenttypes' 和 'django.contrib.sessions' ,因为 django admin 必须用到以上几个APP配合,比如认证,SESSION管理等.
3. 确保 MIDDLEWARE_CLASSES 包含以下: 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware' ,'django.contrib.auth.middleware.AuthenticationMiddleware'.
4. 运行 python manage.py syncdb 命令,当然,你也可以直接通过pydev来做.
右键点击djangoadmin 工程 出现下图:
然后会提示创建数据库表,创建超级用户等.按提示完成.
Creating tables ... Creating table auth_permission Creating table auth_group_permissions Creating table auth_group Creating table auth_user_user_permissions Creating table auth_user_groups Creating table auth_user Creating table django_content_type Creating table django_session Creating table django_site Creating table django_admin_log You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes Username (leave blank to use 'lzs'): admin E-mail address: summer@yihaomen.com Password: password Password (again): password Superuser created successfully. Installing custom SQL ... Installing indexes ... Installed 0 object(s) from 0 fixture(s)
你打开你的数据库,你会发现创建了很多数据表.
5. 配置urls.py
# Include these import statements... from django.contrib import admin admin.autodiscover() # And include this URLpattern... urlpatterns = patterns('', # ... (r'^admin/', include(admin.site.urls)), # ... )
运行测试
如果用命令行的话,请采用.
python manage.py runserver
如果是eclipse 的话,右键点击 djangoadmin工程,然后选择run as -->Pydev:django, 就启动了server,
打开网页 :http://127.0.0.1:8000/admin/
用刚刚创建的超级用户登录进去,看到主界面
以上是环境配置过程,在后面,还将继续写如何 实现数据表的增删改查,怎么注册自己的类到admin ,怎么扩展django admin, 怎么扩展 django user model, 怎么覆盖django admin 自身的url ,用自定义的来实现,django admin 里面自定义的国际化等的处理,目前这是提纲,后续继续跟进.
From:一号门
COMMENTS