Створюємо своє перше веб-додаток за допомогою django

Django - це Open Source фреймворк для створення веб-додатків різної складності. Одним з основних переваг Django є те, що вам потрібно подбати тільки про логіку вашого майбутнього програми, інше зробить Django.
Ми створимо веб-додаток, у якого буде панель адміністратора і можливість завантажувати загадки, а у користувачів, відповідно, можливість відповідати на них. Під час розробки будуть використовуватися Python 3.4.3 і Django 1.9.1.
встановлюємо Django
Робиться це дуже просто, в командному рядку потрібно написати: pip install Django == 1.9.1.
створюємо проект
Якщо ви правильно встановили Django, то після запуску django-admin --version ви побачите поточну версію фреймворку. Тепер створимо проект. Це можна зробити наступним чином: django-admin startproject django_example.
Як тільки створення проекту буде завершено, поглянемо на директорію нашого проекту:
- django_example / __ init__.py - порожній файл, який говорить Python, що дана директорія повинна сприйматися як пакет.
- django_example / settings.py містить конфігурацію нашого проекту.
- django_example / urls.py - тут оголошуються URL.
- django_example / wsgi.py - за допомогою нього додаток може працювати з веб-сервером по протоколу WSGI.
- manage.py дозволяє взаємодіяти з проектом.
створюємо додаток
Визначимо різницю між проектом та програмою. Додаток - це програма, яка щось робить, а проект - це група додатків.
Отже, приступимо до створення програми. Це робиться в такий спосіб: python manage.py startapp riddles.
Як тільки програма створена, давайте напишемо простий вигляд, за правилами Django всі види повинні зберігатися в файлі views.py.
Установка бази даних
За замовчуванням в Django використовується SQLite, якщо вона вас не влаштовує, то ви можете ознайомитися з нашою статтею, в якій ми розповідаємо, як безболісно перейти з SQLite на MySQL.
Тепер відкриємо django_example / settings.py і поглянемо на змінну INSTALLED_APPS. вона зберігає всі додатки, які активні в поточному проекті. За умовчанням вона містить:
- django.contrib.admin - админка, скоро ми їй скористаємося.
- django.contrib.auth - система аутентифікації.
- django.contrib.contenttypes - фреймворк для content types.
- django.contrib.sessions - сесійний фреймворк.
- django.contrib.messages - фреймворк для відправки повідомлень.
- django.contrib.staticfiles - фреймворк для роботи зі статичними файлами.