Сейчас в нашем
проекте мы используем фреймворк
Django.
Django - это фреймворк для быстрой разработки веб-приложений на языке
Python.
Он следует паттерну
MVC. Типичное приложение, использующее Django состоит из следующих частей.
Модель - набор классов, содержащих данные, и хранящихся в СУБД посредством ORM, предоставляемого фреймворком.
Выглядит примерно так:
class Blog(Model):
author = ForeignKey(User)
title = CharField(max_length=200)
class Entry(Model):
blog = ForeignKey(Blog)
text = TextField()
date = DateField()
View - функции, реализующие логику обработки данных и навигации между страницами. Например:
def show_entries(request):
entries = Entry.objects.all()
return render_to_response("entries.html",{"list":entries})
def post_entry(request):
if request.user.is_authenticated():
form = PostEntryForm(request)
if form.is_valid():
form.save()
return HttpResponseRedirect("/")
return render_to_response("post.html",{"form":form})
return HttpResponseRedirect("/login")
Для облегчения написания этих функций существуют различные средства, например формы, с помощью которых осуществляется ввод и валидация данных.
Шаблоны страниц - шаблоны страниц или других документов, используемых для представления информации пользователям. Django содержит довольно простой и удобный язык шаблонов, странички могут выглядеть так:
<html><body>
{% for entry in list %}
<div>
{{ entry.text }}
</div>
{{ entry.date }}
{% end for %}
</body></html>
Использование тех или иных возможностей Django не является обязательным. Вместе с тем в Django очень много различных помогающих вещей.
Тем не менее, нельзя сказать, что сейчас разработка идет у нас легко и быстро. Причина состоит в том, что использование мощного фреймворка приводит к желанию реализовывать сложную функциональность сразу. Так, я пару дней потратил на регистрацию/авторизацию по
OpenID и автоматическую генерацию паролей с их отправкой по электронной почте.
Создание дизайна страничек по-прежнему требует значительных усилий и умения, а кроме того, с Django не работает любимый java-разработчиков по изучению новых технологий - написать любую букву и нажать Ctrl-Space. Приходится читать документацию.
Документация у Django отличная, почти про все написаны исчерпывающие тексты, в которых описаны различные сценарии использования компонентов. В открытом доступе есть так же и
книга, которая во многом повторяет документацию, однако содержит дополнительные разъяснения и комментарии по многим практическим вопросам.
Я думаю, что на следующей неделе наша производительность увеличится, так как участники проекта привыкнут к используемой технологии и к совместной работе :)