Задать вопрос

Какова философия python и django?

Начал изучать python, django (больше django интересует), поискал статьи про написание чата, все говорят о доп. приложениях.
Тут я вообще запутался, а сам я почему чат не могу сделать.
Также искал, создание блога на django, но и там применяют какие-то стандартные функции публикации django и опять дополнительное приложение(или модуль, плагин) - комментарии Disqus. Расскажите, состав django, как и с чем его едят, главные принципы.
  • Вопрос задан
  • 4597 просмотров
Подписаться 9 Оценить Комментировать
Решения вопроса 2
Deerenaros
@Deerenaros
Программист, математик, задрот и даже чуть инженер
Django - это эдакий комбайн, альтернатива Rails для Python. Соответственно из его философий - это простота и функциональность, дисциплина и модульность, удобство и производительность. Получается у него это весьма не плохо. Хотя есть свои моменты, не самые приятные, скажем так.
Если по поводу Python, то здесь неплохо подходят такие слова, как простота, лаконичность, скорость. В некотором смысле удобство. Порой, хотя это и официально скорее возбраняется, есть такая неприятная особенность, как write only, то есть пишется код легко и просто, но через пару лет прочитать его будет весьма сложно.
Ну и потом, Python - Generic Purpose Language, то есть он всё таки предназначен для всего, а не в основном для вэба. Порой это видно. Например, на его основе нет нормального сервера, нет нормальной поддержки https. И в то же время, он один из немногих (хотя сегодня это почти не так), неприемлит cgi-bin.
К слову, хочу обратить внимание, на такой фреймворк, как Flask. Он пока не очень быстрый, зато лёгкий и очень модульный. К тому же на нём легко писать.
Ответ написан
softwaremaniacs.org/blog/2005/12/08/django Тут достаточно неплохо описаны некоторые идеи.
Я так понимаю, Вас больше беспокоят дополнительные приложения.
В идеале, проект Django состоит из некоторого числа независимых приложений, каждое из которых отвечает за свою часть во всем проекте (В блоге, например, отдельные приложения для постов, комментариев. И еще много других, о которых сейчас даже трудно задуматься: например, thumbnail для выдачи миниатюр аватарок пользователей и др.). Каждое такое приложение должно быть настолько независимым, что при желании можно совершенно безболезненно перенести его в другой проект. Достаточно подключить его в INSTALED_APPS и можно пользоваться. Эта идея достаточно практична: на сайте https://www.djangopackages.com/ можно найти приложения для решения почти любой повседневной задачи и не только.
Конечно, в целях практики, стоит попытаться самому реализовать приложения, желаемого проекта. С каждым новым проектом вы будете начинать понимать, какие части прошлых проектов стоит выделить в отдельные приложения, чтобы не приходилось копипастить код, тем самым применяя принцип DRY.
P.S. А начать изучать Django стоит с уроков из документации. Там и практика и разъяснение принципов.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
поискал статьи про написание чата

Не совсем задача для джанго.
Джанго создавался как фрейм для онлайн-издания. Потому чтоит вначале изучить стандартный юзкейс фрейма -- странички, блоги, опросы и тп.

Создать чат-приложение с 0 -- намного сложнее чем ты думаешь

Тут я вообще запутался, а сам я почему чат не могу сделать.

Можно создать чат на основе повторяющихся ajax запросов к серверу -- не очень елегантно, но для 20 пользователей приемлемо

Также искал, создание блога на django, но и там применяют какие-то стандартные функции публикации django

Изучи их

дополнительное приложение(или модуль, плагин) - комментарии disquz

Если у тебя мало опыта в разработке, стоит сделать упор на базовые функции фрейма, а потом переходить к плагинам

Расскажите главные принципы django

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.

- высокоуровневий веб-фрейм
- быстрая разработка
- чистота
- ясная структура кода

Веб-фрейм для перфекционистов с дедлайнами!

Расскажите, состав django

Object-relational mapper -- взаимодействие с БД
Automatic admin interface -- базовый интерфейс администратора
Elegant URL design -- управление улами
Template system -- расширяемый язык темплейтов
Cache system -- гибкое кеширование

Расскажитекак и с чем его едят

стоит начать отсюда
https://docs.djangoproject.com/en/1.7/intro/tutorial01/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы