Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction to django


Published on

  • Very helpful for beginners...
    Are you sure you want to  Yes  No
    Your message goes here

Introduction to django

  1. 1. Introduction to Django
  2. 2. Django"""The Web framework for perfectionists withdeadlines.""""""Django is a high-level Python Webframework that encourages rapid developmentand clean, pragmatic design."""
  3. 3. What is inside?● Built-in ORM(Object-relational Mapper)● Simple but powerful URL system● Built-in template system● I10n(Internationalization)● Cache system● Built-in authentication system● Built-in webserver(for development)● Automatic admin interface
  4. 4. MVT not MVC● Model ○ defines the data structure ○ takes care for querying the database● View ○ defines what data should be presented ○ returns HTTP response● Template ○ renders the data in suitable format - HTML/XML/etc.
  5. 5. The live of request
  6. 6. Project structureTo start new project run: startproject my_projectThe following structure will be created my_project/ my_project/ # project settings reside here wsgi.pyThis is the default created and good for learning the basics but this way thesettings may be hard to maintain for project in production. Alternative approachis available at
  7. 7. Application structureTo create new application in you project just run the following commandin the shell: python startapp appThe following structure will be created app/ # not created automatically before 1.5 views.pyThere is no file but most developer find it useful to keep the applicationspecific URLs inside it and include them in the main URLs configuration file.
  8. 8. Models# models.pyfrom django.db import modelsfrom django.utils.translation import ugettext_lazy as _class News(models.Model): title = models.CharField(_(Title), max_length=255) slug = models.SlugField(_(Slug)) content = models.TextField()To create the tables for the define models just run: python syncdb
  9. 9. URLs dispatcher# urls.pyfrom django.conf.urls import patterns, url, includeurlpatterns = patterns(, url(r^$, app.home, name=home), # give the specific URL meaningfulname url(roffers/, include(offers.urls)), # include URLs from another app (r^news/$, news.views.offers), # point to specific view (r^news/(d{4})/$, news.views.year_archive), # pass arg(s) (r^news/(d{4})/(d{2})/$, news.views.month_archive), # pass arg(s) (r^news/(?P<slug>[-w]+)/$, news.views.single_news), # pass named args)● URLs dispatcher uses regular expression● The first match found is called● All arguments are passed as unicode strings
  10. 10. Views# views.pyfrom .models import Newsfrom django.shortcuts import get_object_or_404def single_news(request, slug): news = get_object_or_404(News.objects.public(), slug=slug) return render_to_response(news/single_news.html, {news: news})
  11. 11. Templates# template.html{% extends my_project/base.html %}<h1>{{ news.title }}</h1><div class="news-content"> {{ news.content|safe }}</div>
  12. 12. About Meeng. Ilian Iliev● Web Developer for 9+ years● Python/Django fan for 3+ years●●●