Уже на новогодних каникулах я понял, что буду изучать питоновский фреймворк - Джанго. Мне всегда были интересны веб-проекты. Сейчас я уже близок к реализации своей задумки - мое приложение почти готово. Но сейчас хочу поделиться своим опытом первого шага в Django, какую задачу я решал в самом начале.
Теория
Нельзя начать решать задачу, если совершенно не знаешь как. Поэтому сначала изучаем теорию. Я повторял проект из видеоурока и использовал сайт metanit.com. При этом сайт у меня был в роли справочника.
Повторив проект я получил готовый код на своем ПК, и в голове сформировался принцип работы Django и общая его структура. Но как с ним работать я не понимал. Ведь пока не попробуешь кодить своими ручками, ничего не получиться. Что же делать? С чего начать? Обычно в учебниках подобраны задачи, которые направят тебя в дальнейшем обучении, тут же пришлось придумывать самому.
Задача
Первым делом надо понять, как между собой функционируют файлы Urls, views - как общие - проектные, так и у конкретного приложения. Для этого я придумал себе простую задачу.
Реализуйте сайт с тремя страницами: главная, о сайте, об авторе. На главной должен быть заголовок "Главная страница" и две ссылки на другие две страницы. На остальных страницах свой заголовок и ссылка на главную страницу.
Решение
Для решения достаточно ресурсов, которые я обозначил в разделе теория. Я сначала повторил проект из видеоурока, потом по полученным файлам делал свой. Опишу порядок первых своих действий:
Создаем папку для проекта, заходим в неё через терминал. Оттуда команды:
- django-admin startproject testProject
- cd testProject
- python manage.py startapp testApp
Мы создали проект testProject , перешли в него и там создали приложение testApp.
Далее начинаем работать с получившимися файлами в папке testProject. Делать это средствами винды не очень хорошая идея, поэтому лучше использовать специализированный редактор (у меня это Atom).
Хорошо, когда ваш проект хорошо структурирован. Вы сами в нем не сломаете ногу. Поэтому для всех приложений лучше использовать отдельную папку. На картинке я уже поместил созданное приложение testApp в созданную папку apps (обратите внимание на расположение этой папки).
Для того, чтобы проект видел новую для себя папку, надо указать путь к ней. Сделать это нужно в файле settings.py. Для указания пути добавляем к библиотеке os - sys. А дальше указываем путь к apps.
- import os, sys
- PROJECT_ROOT = os.path.dirname(__file__)
- sys.path.insert(0, os.path.join(PROJECT_ROOT, 'apps'))
Теперь все приложения можно хранить в папке apps, а проект будет их видеть. Это поможет структурировать его, а это в свою очередь поможет в будущем не поломать вам голову, когда не сработает очередной гайд из интернета.
Дальнейшую последовательность действий расписывать я не буду, так как решить свою первую задачу по Джанго каждый должен самостоятельно. В помощь вам будет сайт metanit.com. Свой мини-гайд я написал для того, чтобы вы не пренебрегали даже на начальных этапах и уроках структурированием проекта (все это есть, к слову, в видеоуроке). Так же не забывайте про отдельные urls.py для каждого приложения, это облегчит вашу жизнь в будущем.
P.S. Я просто рассказываю о том, как учу Питон я. Мой способ точно не универсален и точно не лучший. Вы сами для себя решаете как вам удобнее, как вы лучше понимаете и продвигаетесь вперед. И если вы вдруг опытный Джангист, то поделитесь своим опытом в комментариях.
Удачи всем нам в наших начинаниях!=)