meet django - django webframework in python

27
Meet Django @baskoopmans

Upload: bas-koopmans

Post on 13-Apr-2017

249 views

Category:

Internet


2 download

TRANSCRIPT

Page 1: Meet Django - Django Webframework in Python

Meet Django

@baskoopmans

Page 2: Meet Django - Django Webframework in Python

Django?

Page 3: Meet Django - Django Webframework in Python

Django!

Page 4: Meet Django - Django Webframework in Python

Named after Django Reinhardt

Page 5: Meet Django - Django Webframework in Python

Born in 2003

Page 6: Meet Django - Django Webframework in Python

Not a CMS

Page 7: Meet Django - Django Webframework in Python

A framework

Page 8: Meet Django - Django Webframework in Python

Build with Django

Page 9: Meet Django - Django Webframework in Python

The big picture

Page 10: Meet Django - Django Webframework in Python

The big picture

Page 11: Meet Django - Django Webframework in Python

Model View Controller

Page 12: Meet Django - Django Webframework in Python

Fat models

Page 13: Meet Django - Django Webframework in Python

Templates

Page 14: Meet Django - Django Webframework in Python

Thin views

Page 15: Meet Django - Django Webframework in Python

Why Django is awesome

Page 16: Meet Django - Django Webframework in Python

Why Django is awesome

3 reasons

Page 17: Meet Django - Django Webframework in Python

Python

Page 18: Meet Django - Django Webframework in Python

Python

Page 19: Meet Django - Django Webframework in Python

Philosophy

Page 20: Meet Django - Django Webframework in Python

Community

Page 21: Meet Django - Django Webframework in Python

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

Page 22: Meet Django - Django Webframework in Python

<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

Page 23: Meet Django - Django Webframework in Python

Admin

from django.contrib import adminfrom .models import Book

@admin.register(Book)class BookAdmin(admin.ModelAdmin): pass

admin.py

Page 24: Meet Django - Django Webframework in Python

Great tools

Page 25: Meet Django - Django Webframework in Python
Page 26: Meet Django - Django Webframework in Python

Happy coding

Page 27: Meet Django - Django Webframework in Python