Development Webserver ********************* Now that Django is configured, you can view the first results. Start the development webserver =============================== You can start Djangos development webserver with the following command: .. code-block:: bash $ python manage.py runserver Validating models... 0 errors found Django version 1.4, using settings 'cookbook.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C. Open the URL ``http://127.0.0.1:8000/`` in your browser to view Django's welcome page. The first own page ================== Only a few steps are needed to show simple first page. Create a template ----------------- The first thing you need for your website is a template. Create a folder :file:`templates` in the project directory. (Remember that the directory :file:`cookbook` that contains :file:`manage.py`.) In the new directory you create the file :file:`base.html`: .. code-block:: html+django Cookbook

Cookbook

Modify URLConf -------------- The simplest way to view a template is the ``TemplateView``. Open the folder :file:`cookbook/urls.py` and enter the follwing code after line 1:: from django.views.generic.base import TemplateView Additionally enter at the end of the ``urlpatterns`` the following line:: url(r'^home/', TemplateView.as_view(template_name='base.html')), After your edits the file should look line that:: from django.conf.urls import patterns, include, url from django.views.generic.base import TemplateView # Uncomment the next two lines to enable the admin: # from django.contrib import admin # admin.autodiscover() urlpatterns = patterns('', # Examples: # url(r'^$', 'cookbook.views.home', name='home'), # url(r'^cookbook/', include('cookbook.foo.urls')), # Uncomment the admin/doc line below to enable admin documentation: # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin: # url(r'^admin/', include(admin.site.urls)), url(r'^home/', TemplateView.as_view(template_name='base.html')) ) Now you can start the development server again and reach the new page under http://127.0.0.1:8000/home/. Activate the admin application ============================== Django has an admin application included, that allows you to interact with the database over a web interface. Ajust the configuration ----------------------- Open the file :file:`settings.py` and find the section ``INSTALLED_APPS``. Remove the comment sign in the line that contains ``'django.contrib.admin',``, to activate the admin application. Adjust URLConf -------------- To make the admin application ready to be openend in the browser, we have to activate the URL of it. Open :file:`cookbook/urls.py` and remove the comment signs in lines 5, 6 and 17. After that the file should look like that:: from django.conf.urls import patterns, include, url from django.views.generic.base import TemplateView # Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', # Examples: # url(r'^$', 'cookbook.views.home', name='home'), # url(r'^cookbook/', include('cookbook.foo.urls')), # Uncomment the admin/doc line below to enable admin documentation: # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin: url(r'^admin/', include(admin.site.urls)), url(r'^home/', TemplateView.as_view(template_name='base.html')) ) Synchronise the database ------------------------ Django already includes an App to do the authentication. To configure the database accordingly, execute the following command:: $ python manage.py syncdb Creating tables ... Creating table auth_permission Creating table auth_group_permissions Creating table auth_group Creating table auth_user_user_permissions Creating table auth_user_groups Creating table auth_user Creating table django_content_type Creating table django_session Creating table django_site Creating table django_admin_log You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes Username (leave blank to use 'vagrant'): admin E-mail address: admin@example.com Password: Password (again): Superuser created successfully. Installing custom SQL ... Installing indexes ... Installed 0 object(s) from 0 fixture(s) .. note:: In the process of installing Djangos authentication app the first time a new admin/superuser is be created. The admin application has the URL http://127.0.0.1:8000/admin/. The credentials are the ones of the superuser you just created. Resources ========= * :djangodocs:`Informationen about the admin application `