Django @ budapest.py június
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
914
On Slideshare
914
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. webes keretrendszer mindenkinek Farkas Szilveszter budapest.py 2009. június 25.
  • 2. tartalom történet alapok beépített szolgáltatások kiegészítő szolgáltatások hasznos alkalmazások
  • 3. történet
  • 4. Adrian Holovaty Lawrence Journal-World, Kansas
  • 5. 1.0 hamarosan 1.1
  • 6. alapok
  • 7. MVC
  • 8. MTV
  • 9. MTV Model
  • 10. MTV Template
  • 11. MTV View
  • 12. ORM model
  • 13. adatok natív objektumok
  • 14. lekérdezések beépített nyelvi elemekkel támogatva
  • 15. mezőtípusok beépített validációval
  • 16. AutoField BooleanField CharField CommaSeparatedIntegerField DateField DateTimeField DecimalField EmailField FileField FilePathField FloatField ImageField IntegerField IPAddressField NullBooleanField PhoneNumberField PositiveIntegerField PositiveSmallIntegerField SlugField SmallIntegerField TextField TimeField URLField USStateField XMLField
  • 17. kapcsolatok több-egy, több-több, egy-egy
  • 18. class Article(models.Model): title = fields.CharField() body = fields.TextField() submitted = fields.DateTimeField() author = fields.ForeignKey(User) published = fields.BooleanField()
  • 19. sablon rendszer template
  • 20. alapvetően html
  • 21. {% tagek %}
  • 22. {% block "nev" %} Ide jöhet akármi. {% endblock %} {% if feltetel %} Feltétel teljesült. {% else %} Nem teljesült a feltétel. {% endif %}
  • 23. {{ változók }}
  • 24. {{ valtozo }} {{ objektum.tagvaltozo }} {{ objektum.tagfuggveny }}
  • 25. |szűrők
  • 26. {{ datum|date:"Y. m. d." }} 2008. 07. 11. {{ html|escape }} <strong>Django</strong> (nem Django) {{ meret|filesizeformat }} 234.5 MB
  • 27. leszármaztatás
  • 28. base.html <head> <title>{% block "title" %}Oldal címe{% endblock %}</title> </head> extended.html {% extends "base.html" %} {% block "title" %} Másik cím {% endblock %}
  • 29. nézetek view
  • 30. kérés - válasz HttpRequest - HttpResponse
  • 31. 1. szabály HttpRequest objektumot kapunk
  • 32. 2. szabály HttpResponse objektumot kell visszaadnunk
  • 33. def nezet(request): response = HttpResponse() return response
  • 34. urlconf nézetek hozzárendelése url-ekhez
  • 35. urlpatterns = patterns('', (r'^cikkek/(d{4})/$', 'oldalam.views.eves_archivum'), (r'^cikkek/(d{4})/(d{2})/$', 'oldalam.views.havi_archivum'), (r'^cikkek/(d{4})/(d{2})/(d+)/$', 'oldalam.views.oldal_reszletek'), )
  • 36. paraméterátadás
  • 37. urlpatterns = patterns('', (r'^szavazasok/$', 'oldalam.szavazo.views.kezdo'), (r'^szavazasok/(?P<azon>d+)/$', 'oldalam.szavazo.views.reszletek'), (r'^szavazasok/(?P<azon>d+)/eredmenyek/ $', 'oldalam.szavazo.views.eredmenyek'), (r'^szavazasok/(?P<azon>d+)/szavazas/ $', 'oldalam.szavazo.views.szavazas'), )
  • 38. def reszletek(request, azon): sz = get_object_or_404(Szavazas, pk=azon) return render_to_response('szavazas_reszletek.html', {'szavazas': sz})
  • 39. forms űrlapok egyszerűen
  • 40. mezők hasonlóan a modellekhez
  • 41. widgetek
  • 42. validálás beépített, vagy egyedi
  • 43. validálás mezőnként, vagy globálisan
  • 44. modell → űrlap
  • 45. class ArticleForm(forms.ModelForm): class Meta: model = Article
  • 46. beépített szolgáltatások
  • 47. adatbázis hozzáférés MySQL, Oracle, PostgreSQL, SQLite
  • 48. adatbázis hozzáférés tranzakciókezeléssel
  • 49. munkamenetek (sessions)
  • 50. gyorsítótárazás (caching)
  • 51. honosítás (internationalization)
  • 52. unicode mindenhol
  • 53. lapszámozás (pagination)
  • 54. szerializáció XML, JSON, Python, YAML
  • 55. fájlfeltöltés bármekkora fájlmérettel
  • 56. middleware-ek
  • 57. tesztelés
  • 58. kiegészítő szolgáltatások
  • 59. auth felhasználók, csoportok és jogosultságok
  • 60. admin adminisztrációs felület pár sor kóddal
  • 61. databrowse „adminisztrációs felület látogatóknak”
  • 62. flatpages statikus oldalak
  • 63. form preview űrlapon szereplő adatok megerősítése beküldés előtt
  • 64. form wizard többlépéses űrlapok
  • 65. sites több honlap egy telepítéshez
  • 66. sitemaps keresőbarát oldalszerkezet biztosítása
  • 67. syndication RSS és Atom hírforrások létrehozása
  • 68. webdesign Lorem Ipsum generátor
  • 69. hasznos alkalmazások
  • 70. django-registration felhasználók regisztrációjához
  • 71. django-contact-form rugalmas kapcsolatfelvételi űrlap
  • 72. django-tagging bármelyik modellünket címkézhetjük vele
  • 73. django-openid OpenID támogatás implementációja
  • 74. és még sokan mások... Google Code
  • 75. Köszönöm a figyelmet! http://szilveszterfarkas.com/
  • 76. Köszönet Török Gábor http://gábor.20y.hu/django/