Last active
January 2, 2017 20:44
-
-
Save danielhauck/6d7a01db5d68a4516634d6b5ba977c41 to your computer and use it in GitHub Desktop.
Minimal Django Hello World Application
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# hello.py | |
import sys | |
from django.conf.urls import url | |
from django.core.wsgi import get_wsgi_application | |
from django.http import HttpResponse | |
from django.conf import settings | |
# Django Konfiguration | |
settings.configure( | |
DEBUG=True, # Zeigt Debug Meldungen an und erfordert keine Security Einstellungen - nicht in Prod nutzen | |
ROOT_URLCONF=__name__, # __name__ ist eine Umgebungsvariable in python und zeigt immer auf das aufgerufene File - bedeutet hier die URLconf liegt im gleichen File - Django sucht nach der Variable urlpatterns | |
MIDDLEWARE_CLASSES=( | |
'django.middleware.common.CommonMiddleware', | |
'django.middleware.csrf.CsrfViewMiddleware', | |
'django.middleware.clickjacking.XFrameOptionsMiddleware', | |
),# <-- benötigte Security Middleware | |
) | |
# Sog. FBVs(Function Based View) - muss immer ein HttpResponse Object haben. | |
def index(request): | |
return HttpResponse('Hello World') | |
# Hier werden die Route also URLs definiert - eine Route in dem Fall "/" wird immer als Regex geschrieben und zeigt auf eine View - in dem Fall index und wird Hello World ausliefern | |
urlpatterns = ( | |
url(r'^$', index), | |
) | |
# Interessanter Part, wenn man das ganze dann über gunicorn ansprechen will | |
application = get_wsgi_application() | |
# Sollte dir bekannt vorkommen - wenn das File direkt aufgerufen wird, steigt er in die Bedingung | |
if __name__ == '__main__': | |
# hier wird das django management modul aufgerufen, dem du per sys.argv dann 'runserver' übergibst | |
from django.core.management import execute_from_command_line | |
execute_from_command_line(sys.argv) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment