django-cms学习笔计(一)

开放源码的内容管理系统,基于Web框架Django的。

优势如下

  1.  高度可扩展的插件系统,可让您自由地构建各种内容的网站。
  2.  前端编辑直接更改您的网站上的内容。工程的所有插件。
  3.  感谢可读的网址的页面结构是完美的搜索引擎优化
  4.  整合网上商店与  Django的商店  -一个高度灵活和可扩展的电子商务解决方案。
  5.  添加博客引擎使用相同的内容插件,您使用Django的CMS。
  6.  权限管理,设置不同用户的具体权利。
  7.  数百开发商开发的Django CMS管理的不断发展,通过  GitHub上。
  8. 可用Python应用程序轻松添加数百或准备使用附加组件。
  9. 可用Python应用程序轻松添加数百或准备使用附加组件。
安装方法

pip 安装,cmd命令行工具

[html]  view plain  copy
  1. easy_install pip  
  2. pip install Django==1.5 django-cms south  
直接用easy_install 安装,cmd命令行工具
[html]  view plain  copy
  1. easy_install django-cms  

应用,

1.新建django项目,cmd进入到工作目录

[html]  view plain  copy
  1. django-admin.py startproject myproject  
2.修改配置文件 myproject/myproject/settings.py


顶部加上

[html]  view plain  copy
  1. # -*- coding: utf-8 -*-  
  2. import os  
  3. gettext = lambda s: s  
  4. PROJECT_PATH = os.path.split(os.path.abspath(os.path.dirname(__file__)))[0]  
设置语言
[html]  view plain  copy
  1. LANGUAGES = [  
  2.     ('en', 'English'),  
  3.     ]  
  4. LANGUAGE_CODE = 'en-us'  

数据库配置
[html]  view plain  copy
  1. DATABASES = {  
  2.     'default': {  
  3.         'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.  
  4.         'NAME': 'django_cms',                      # Or path to database file if using sqlite3.  
  5.         # The following settings are not used with sqlite3:  
  6.         'USER': 'root',  
  7.         'PASSWORD': '123456',  
  8.         'HOST': '127.0.0.1',                      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.  
  9.         'PORT': '3306',                      # Set to empty string for default.  
  10.     }  
  11. }  
文件路径配置
[html]  view plain  copy
  1. # 上传文件保存目录,绝对路径  
  2. STATIC_ROOT = os.path.join(PROJECT_PATH, "static")  
  3. STATIC_URL = "/static/"  
  4.   
  5. #静态文件目录,绝对地址,例如 js css文件  
  6. MEDIA_ROOT = os.path.join(PROJECT_PATH, "media")  
  7. MEDIA_URL = "/media/"  
middleware_class配置
[html]  view plain  copy
  1. MIDDLEWARE_CLASSES = (  
  2.     'django.contrib.sessions.middleware.SessionMiddleware',  
  3.     'django.middleware.csrf.CsrfViewMiddleware',  
  4.     'django.contrib.auth.middleware.AuthenticationMiddleware',  
  5.     'django.contrib.messages.middleware.MessageMiddleware',  
  6.     'django.middleware.locale.LocaleMiddleware',  
  7.     'django.middleware.doc.XViewMiddleware',  
  8.     'django.middleware.common.CommonMiddleware',  
  9.     'cms.middleware.page.CurrentPageMiddleware',  
  10.     'cms.middleware.user.CurrentUserMiddleware',  
  11.     'cms.middleware.toolbar.ToolbarMiddleware',  
  12.     'cms.middleware.language.LanguageCookieMiddleware',  
  13. )  
新加配置TEMPLATE_CONTEXT_PROCESSORS
[html]  view plain  copy
  1. TEMPLATE_CONTEXT_PROCESSORS = (  
  2.     'django.contrib.auth.context_processors.auth',  
  3.     'django.core.context_processors.i18n',  
  4.     'django.core.context_processors.request',  
  5.     'django.core.context_processors.media',  
  6.     'django.core.context_processors.static',  
  7.     'cms.context_processors.media',  
  8.     'sekizai.context_processors.sekizai',  
  9. )  
模板目录配置
[html]  view plain  copy
  1. #模板目录  
  2. TEMPLATE_DIRS = (.  
  3.     os.path.join(PROJECT_PATH, "templates"),  
  4. )  
cms-模板
[html]  view plain  copy
  1. CMS_TEMPLATES = (  
  2.     ('template_1.html', 'Template One'),  
  3.     ('template_2.html', 'Template Two'),  
  4. )  
install_app配置
[html]  view plain  copy
  1. INSTALLED_APPS = (  
  2.     'django.contrib.auth',  
  3.     'django.contrib.contenttypes',  
  4.     'django.contrib.sessions',  
  5.     'django.contrib.sites',  
  6.     'django.contrib.messages',  
  7.     'django.contrib.staticfiles',  
  8.     'cms',  
  9.     'mptt',  
  10.     'menus',  
  11.     'south',  
  12.     'sekizai',  
  13.     'cms.plugins.file',  
  14.     'cms.plugins.flash',  
  15.     'cms.plugins.googlemap',  
  16.     'cms.plugins.link',  
  17.     'cms.plugins.picture',  
  18.     'cms.plugins.snippet',  
  19.     'cms.plugins.teaser',  
  20.     'cms.plugins.text',  
  21.     'cms.plugins.video',  
  22.     'cms.plugins.twitter',  
  23.     # Uncomment the next line to enable the admin:  
  24.     'django.contrib.admin',  
  25.     # Uncomment the next line to enable admin documentation:  
  26.     # 'django.contrib.admindocs',  
  27. )  

创建数据,cmd切换到项目根目录,创建完数据表根据提示创建后台登录用户

[html]  view plain  copy
  1. python manage.py syncdb --all  

修改url路由文件 myproject/myproject/urls.py 为以下内容

[html]  view plain  copy
  1. from django.conf.urls.defaults import *  
  2. from django.conf.urls.i18n import i18n_patterns  
  3. from django.contrib import admin  
  4. from django.conf import settings  
  5. admin.autodiscover()  
  6. urlpatterns = i18n_patterns('',  
  7.                             url(r'^admin/', include(admin.site.urls)),  
  8.                             url(r'^', include('cms.urls')),  
  9.                             )  
  10. if settings.DEBUG:  
  11.     urlpatterns = patterns('',  
  12.                            url(r'^media/(?P<path>.*)$', 'django.views.static.serve',  
  13.                                {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),  
  14.                            url(r'', include('django.contrib.staticfiles.urls')),  
  15.                            ) + urlpatterns  

项目根目录下( myproject/ )下增加文件夹 及文件

[html]  view plain  copy
  1. media  
  2. static  
  3. templates/base.html  
  4. templates/template_1.html  
  5. templates/template_2.html  

base.html

[html]  view plain  copy
  1. {% load cms_tags sekizai_tags %}  
  2. <html>  
  3. <head>  
  4.     {% render_block "css" %}  
  5. </head>  
  6. <body>  
  7. {% cms_toolbar %}  
  8. {% placeholder base_content %}  
  9. {% block base_content %}{% endblock %}  
  10. {% render_block "js" %}  
  11. </body>  
  12. </html>  

template_1.html

[html]  view plain  copy
  1. {% extends "base.html" %}  
  2. {% load cms_tags %}  
  3.   
  4. {% block base_content %}  
  5.     {% placeholder template_1_content %}  
  6. {% endblock %}  

template_2.html

[html]  view plain  copy
  1. {% extends "base.html" %}  
  2. {% load cms_tags %}  
  3.   
  4. {% block base_content %}  
  5.     {% placeholder template_2_content %}  
  6. {% endblock %}  


运行项目 cmd 项目根目录

[html]  view plain  copy
  1. python manage.py runserver  

浏览器打开 http://192.168.137.100:8000

后台地址为 http://192.168.137.100:8000/admin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值