181 lines
4.4 KiB
Plaintext
181 lines
4.4 KiB
Plaintext
[
|
|
{ type: install
|
|
message: <<EOM
|
|
IMPORTANT /
|
|
|
|
If you're upgrading from a older version of py-django-cms please read the
|
|
upgrade instructions at:
|
|
|
|
http://docs.django-cms.org/en/latest/upgrade/index.html
|
|
|
|
The described steps further down are a distilled version of "How to install
|
|
django CMS by hand" which is available at:
|
|
|
|
http://docs.django-cms.org/en/latest/how_to/install.html
|
|
|
|
The manual gives enough information how to setup py-django-cms for
|
|
development use. For production environments please consider to read the
|
|
full documentation available at:
|
|
|
|
http://docs.django-cms.org/en/latest/index.html
|
|
|
|
|
|
1. Create a new Django project
|
|
|
|
|
|
$ django-admin.py startproject myproject
|
|
|
|
|
|
2. Edit settings.py
|
|
|
|
|
|
--- Set a SITE_ID by adding the following line:
|
|
|
|
SITE_ID = 1 # 1 will suffice in most cases
|
|
|
|
--- Add the next lines to INSTALLED_APPS:
|
|
|
|
'djangocms_admin_style' # must come BEFORE django.contrib.admin
|
|
'django.contrib.sites'
|
|
'cms'
|
|
'menus'
|
|
'sekizai'
|
|
'treebeard'
|
|
|
|
--- Configure the LANGUAGES and LANGUAGE_CODE, e.g.:
|
|
|
|
LANGUAGES = [
|
|
('en', 'English'),
|
|
('de', 'German'),
|
|
]
|
|
|
|
LANGUAGE_CODE = 'en' # For simplicity's sake at this stage it is worth
|
|
# changing the default en-us in that you'll find in
|
|
# the LANGUAGE_CODE setting to en.
|
|
|
|
--- Add the following lines to MIDDLEWARE_CLASSES:
|
|
|
|
'cms.middleware.utils.ApphookReloadMiddleware' # Optional, but useful
|
|
'cms.middleware.user.CurrentUserMiddleware'
|
|
'cms.middleware.page.CurrentPageMiddleware'
|
|
'cms.middleware.toolbar.ToolbarMiddleware'
|
|
'cms.middleware.language.LanguageCookieMiddleware'
|
|
'django.middleware.locale.LocaleMiddleware'
|
|
|
|
--- Add MEDIA_URL (where media files will be served) and MEDIA_ROOT (where they
|
|
--- will be stored):
|
|
|
|
MEDIA_URL = "/media/"
|
|
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
|
|
|
|
--- See the Django documentation for guidance on serving media files in
|
|
--- production.
|
|
|
|
--- Add a CMS_TEMPLATES section that will be the project's default template:
|
|
|
|
CMS_TEMPLATES = [
|
|
('home.html', 'Home page template'),
|
|
]
|
|
|
|
--- Add the next lines to TEMPLATES['OPTIONS']['context_processors']:
|
|
|
|
'sekizai.context_processors.sekizai'
|
|
'cms.context_processors.cms_settings'
|
|
|
|
--- Django needs to be know where to look for its templates, so add following
|
|
--- line (the appropriate directory will be created in the next step) to the
|
|
----TEMPLATES['DIRS'] list:
|
|
|
|
['templates']
|
|
|
|
--- In the root of the project, create a templates directory, and in that,
|
|
--- home.html, a minimal django CMS template:
|
|
|
|
{% load cms_tags sekizai_tags %}
|
|
<html>
|
|
<head>
|
|
<title>{% page_attribute "page_title" %}</title>
|
|
{% render_block "css" %}
|
|
</head>
|
|
<body>
|
|
{% cms_toolbar %}
|
|
{% placeholder "content" %}
|
|
{% render_block "js" %}
|
|
</body>
|
|
</html>
|
|
|
|
--- Note: See Django's template language documentation for more on how template
|
|
--- inheritance works.
|
|
|
|
|
|
3. Edit urls.py
|
|
|
|
|
|
--- Edit urls.py and add url(r'^', include('cms.urls')) to the urlpatterns
|
|
--- list. It should come after other patterns, so that specific URLs for other
|
|
--- applications can be detected first.
|
|
|
|
--- You'll also need to have an import for django.conf.urls.include and
|
|
--- configure a media file serving for development purposes:
|
|
|
|
from django.conf import settings
|
|
from django.conf.urls import url, include
|
|
from django.conf.urls.static import static
|
|
|
|
urlpatterns = [
|
|
url(r'^admin/', admin.site.urls),
|
|
url(r'^', include('cms.urls')),
|
|
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
|
|
|
|
|
4. Setup the relational database backend
|
|
|
|
|
|
--- For testing purpose SQLite can be used and it is configured by default
|
|
--- in a new Django project's DATABASES.
|
|
|
|
--- Refer to Django's DATABASES setting documentation for the appropriate
|
|
--- configuration when PostgreSQL or MySQL are used as database backends.
|
|
|
|
|
|
5. Run migrations to create database tables
|
|
|
|
|
|
--- When a database backend has been choosen and set up properly, run the
|
|
--- following command:
|
|
|
|
$ python manage.py migrate
|
|
|
|
|
|
6. Create an admin superuser
|
|
|
|
|
|
--- For maintenance purposes it is necessary to create a admin user:
|
|
|
|
$ python manage.py createsuperuser
|
|
|
|
|
|
7. Check CMS installation
|
|
|
|
|
|
--- This will check your configuration, your applications, your database and
|
|
--- report on any problems:
|
|
|
|
$ python manage.py cms check
|
|
|
|
--- When there are no errors continue with the last step.
|
|
|
|
|
|
8. Start the CMS
|
|
|
|
|
|
--- The django CMS project will now run by issuing:
|
|
|
|
$ python manage.py runserver
|
|
|
|
--- The CMS can now be reached http://localhost:8000/ and the admin interface
|
|
--- at http://localhost:8000/admin/
|
|
EOM
|
|
}
|
|
]
|