Dzisiaj na blipie kilka osób podzieliło się linkami do niesamowitego frameworku Troika.
Disclaimer
Osoby bez poczucia humoru powinny iść do domu na obiad, mama was przed chwilą wołała.
Tutorial
Napiszemy prostą aplikację za pomocą Troika.py. Celem jest pośmianie się.
Tworzymy nowy projekt:
$ django-admin.py startproject troikapy $ cd troikapy $ ls __init__.py manage.py settings.py urls.py $ chmod +x manage.py
Oto, co robi powyższa deklaracja:
- Tworzy nowy projekt o nazwie
troikapy
; - Wchodzi do stworzonego katalogu;
- Drukuje listę plików;
- Nadaje plikowi
manage.py
atrybutwykonywalny
- Tworzy nowy projekt o nazwie
Tworzymy nową aplikację:
$ mkdir hello $ touch hello/__init__.py $ mkdir hello/templates
Stwórzmy plik
hello/views.py
:from django import forms from django.views.generic.simple import direct_to_template class HelloForm(forms.Form): name = forms.CharField(label = u'Name, bitch') def hello(request): if request.method == 'POST': form = HelloForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] return direct_to_template(request, 'hello.html', {'form': form, 'name': name}) else: form = HelloForm() return direct_to_template(request, 'hello.html', {'form': form})
Stwórzmy plik
hello/templates/hello.html
:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Hello World Application</title> </head> <body> <h1>Welcome to Hello World Application!</h1> {% if name %} <h2>Hello {{ name }}!</h2> <p>Date/time is {% now "r" %}</p> {% endif %} <form method="post" action=""> {{ form.as_p }} <p><input type="submit"></p> </form> </body> </html>
Modyfikujemy plik
urls.py
w celupowiązania akcji HelloAction z komendą helloworldprzypisania widoku (kontrolera) do adresu:from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^$', 'hello.views.hello'), )
W pliku
settings.py
umieszczamy aplikacjęhello
jako jedyną na liścieINSTALLED_APPS
:… INSTALLED_APPS = ( 'hello', )
Zauważamy, że prawie nic nie napisaliśmy, a mimo to skończyliśmy o 6 kroków za szybko. Ten i kilka kolejnych kroków przeznaczamy na wymyślanie zawiłych formatów aplikacji XML i separację MVC poprzez osadzanie kodu serwerowego w szablonach HTML. Powoli wracamy do zmysłów, zaczynamy zastanawiać się, czemu reszta świata nie chce używać Troika.ASP.