Django. Своя CMS. Часть 4

Дата публикации:29 апреля 2013 г. 1:33:57

Вновь, здравствуйте! Во-первых, я забыл показать urls.py, который основной. Во-вторых, SEO мы сделали, но для SEO очень важно сделать карту сайта. Я не буду делать приоритеты страницам, так как это не сложно и вы сами сможете это сделать. Начнем. В файле urls.py основного каталога(не app, а еще выше него) добавим несколько строк.

Файл urls.py

#! /usr/bin/python
# -*- coding: utf-8 -*-

from django.conf.urls import patterns, include, url
from django.contrib.sitemaps import GenericSitemap

from django.contrib import admin

admin.autodiscover()

from filebrowser.sites import site

from app.pages.models import Page

info_dict = {
    'queryset': Page.objects.filter(publish = True),
    'date_field': 'pub_date',
}

sitemaps = {
    'pages': GenericSitemap(info_dict, priority = 1.0),
}

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    (r'^tinymce/', include('tinymce.urls')),
    (r'^grappelli/', include('grappelli.urls')),
    url(r'^admin/filebrowser/', include(site.urls)),
    (r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
    url(r'^', include('app.urls')),
)

Здесь мы подключили наше приложение, карту сайта и другие батарейки. Кстати, не забудьте в папке app создать файл dashboard.py, который будет отвечать за отображение админки. Если вы не знаете, что в нем писать сходите на сайт grappelli, там все написано. Итак, карта сайта готова, осталось сделать перевод. Как вы могли заметить, я использую ugettext для названия полей в моделях, вывода сообщений и т.п. Я это стараюсь делать всегда, так как никогда не знаешь, вдруг приложение станет мультиязычным. :) Поэтому не забудьте в каталоге app в терминале выполнить команду:

django-admin.py makemessages --locale=ru

и после того, как переведете все, что нужно. Выполнить:

django-admin.py compilemessages --locale=ru

Уфф. Теперь все. Если что-то забыл, пишите мне. Email сверху страницы. :) Спасибо за внимание!

Метки:django, cms, система управления, python