meet django - django webframework in python
TRANSCRIPT
Meet Django
@baskoopmans
Django?
Django!
Named after Django Reinhardt
Born in 2003
Not a CMS
A framework
Build with Django
The big picture
The big picture
Model View Controller
Fat models
Templates
Thin views
Why Django is awesome
Why Django is awesome
3 reasons
Python
Python
Philosophy
Community
Example, part 1
from django.db import models
class Author(models.Model): first_name = models.CharField(max_length=50) last_name = models.CharField(max_length=50)
class Book(models.Model): author = models.ForeignKey(Author) name = models.CharField(max_length=100) release_date = models.DateField()
from django.conf.urls import patternsfrom books.views import BookListView
urlpatterns = patterns('', (r'^books/$', BookListView.as_view()),)
from django.http import HttpResponsefrom django.views.generic import ListViewfrom books.models import Book
class BookListView(ListView): model = Book
models.py urls.py
views.py
<html><head><title>Book</title></head><body>
<h1>{{ book.name }}</h1> <p>By author: {{ book.author.first_name }} {{ book.author.last_name }},</p> <p>This book is released by {{ book.publisher }} on {{ book.release_date|date:"F j, Y" }}.</p>
<ul> {% for related_book in book.author.books.all %} <li>{{ related_book }}</li> {% endfor %} </ul>
{% if book.number_of_pages > 100 %} <p>This is a thick book.</p> {% else %} <p>You can read it in 2 hours.</p> {% endif %}
</body></html>
Example, part 2
book_detail.html
Admin
from django.contrib import adminfrom .models import Book
@admin.register(Book)class BookAdmin(admin.ModelAdmin): pass
admin.py
Great tools
Happy coding