В этом блоге я расскажу, как установить и настроить приложение flatpages для добавления статических страниц из админки сайта на django.
Друзяь, если Вы решили изучать Python/Django в нашей школе практического программирования, то советую вам добавить мой блог в закладки он вам очень пригодится, тут я записываю весь свой путь изучения django, вам будет легче пройти этот путь т.к. вы можете избежать многих трудностей! Начнемс. Открываем документацию по установке и настройке данного приложения на сайте djbook.ru Видим, что первым делом нам нужно добавить в свой файл настроек settings.py несколько параметров. В INSTALLED_APPS добавляем

'django.contrib.sites',
'django.contrib.flatpages',
В MIDDLEWARE_CLASSES добавляем
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
В любом месте в файле settings.py вставляем этот параметр
SITE_ID = 1
Далее выполняем миграцию в базу данных. Я выполнял командой syncdb. Если по каким либо причинам при миграции у вас выходят ошибки, как было в моем случае, то обновите версию django не ниже 1.7.10 Далее переходим в админку и видим, что добавились несколько разделов - это
    Простые страницы Сайты
Заходим в простые страницы и жмем добавить страницу. В открытом окне заполняем поля как на скриншоте django Тут все просто думаю разберетесь. Единственное, что в поле Sites вам нужно добавить свой сайт и указать параметр SITE_ID = 1 или SITE_ID = 2 если собираетесь использовать на нескольких сайтах. Далее переходим в главный файл urls.py вашего проекта и там делаем ссылку на эту страницу.
url(r'^(?Pcontact/)$', 'django.contrib.flatpages.views.flatpage'),
По этому урлу ваша страница будет выводится. Далее в папке templates создаем папку flatpages и в ней файл default.html python В файле default.html наследуемся от главного шаблона и пишем простые теги для вывода текста.
{% extends 'base.html' %}

{% block content %}

{{ flatpage.title }}

{{ flatpage.content }} {% endblock %}
Все, теперь у вас будет работать статическая страница, которую вы добавили в админке сайта. Еще больше информации о программировании на Python/Django можно найти в нашей школе, где я прохожу обучение сейчас.
12 Ноябрь 2015, 16:43 0 blazer-05
blog comments powered by Disqus