View

Die erste “App” erstellen

  • Apps sind gekapselte Plugins für django
  • “Alles” muss und wird in einer App gekapselt
$ python manage.py startapp core

class:slidecenter

Was wurde erstellt?


App in den INSTALLED_APPS eintragen

in portfolio/settings.py

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'core',
)

Die erste View

In core/views.py:

from django.http import HttpResponse

def index(request):
    return HttpResponse("hello world!")

URL-Mapping


App urls.py

core/urls.py

from django.conf.urls import url
from core import views

urlpatterns = [
   url(r'^$', views.index, name='index')
]

Note

Viele regex Möglichkeiten, unter anderem mit Variablenzuweisung.


Importieren in der globalen Datei

portfolio/urls.py

from django.conf.urls import include, url
from django.contrib import admin
from core import urls as  core_urls

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^core/', include(core_urls))
]

Note

In der realen Welt wird man das vermutlich nicht so sauber trennen. Hier für den Workshop arbeiten wir aber so sauber wie möglich!


Recap: Wo stehen wir gerade?

../_images/django_structure.png