Skip to content

A heavily commented Django project dedicated to teaching the framework or refresh one's memory.

License

Notifications You must be signed in to change notification settings

sametmax/Django--an-app-at-a-time

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django, an app at a time

A heavily commented Django project dedicated to teaching the framework or refresh one's memory. Each app demonstrates a few essential Django features so you can see how it all fit together by looking at the code and testing the result in your browser. There is nothing do except run and read.

Currently:

  • Project : see how settings and urls.py work
  • App 1: hello world
  • App 2: hello again
  • App 3: basic routing
  • App 4: creating links
  • App 5: GET, POST and cookies
  • App 6: templates, tags and filters
  • App 7: static files
  • App 8: reusable app

What's to come:

  • ORM
  • Forms
  • Authentification
  • Admin
  • Command
  • Translations

How to use?

Download and extract this project, and run:

python ./manage.py runserver

You can ignore the "You have 15 unapplied migration(s)." warning.

You don't need to install anything.

Go to the URL http://127.0.0.1:8000 and play with the apps.

When you want to see how it works, go to the "apps" directory and watch the commented source code.

Each app assumes you understand the previous ones, and contains a README to guide you.

Download links:

What's in there?

  • "apps" : contains all the applications, sorted by complexity and requirements. This is what you want to read.
  • "project": the Django project itself, containing settings and the main URL routes definition. You should have a look in there from time to time, it puts the apps in context and contains some tips.
  • "ignore_this_dir": stuff to make it work that you don't need to know about.
  • "manage.py": the command to interact with the Django project. This one is a bit modified so don't replace it.
  • ".gitignore": a configuration file for git. You don't need this for Django. It's here to help me.

Notes

In a real project, you WOULD have to install something. Dependencies are provided here for convenience, dumped in ignore_this_dir/, but you would definitely use pip and virtualenv in a real project.

By the way, this is NOT a tutorial. The purpose is not to replace a full course about how Django works, but rather to give you a concrete example on how each task can be achieved with Django.

Translations and spell corrections welcome!

About

A heavily commented Django project dedicated to teaching the framework or refresh one's memory.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published