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

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

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 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.
  • "libs": dependencies such as Django or external libraries that you would have to install otherwise. You don't need to, but you can look into it once you start feeling comfortable with Django.
  • "libs/ignore_me": the app that lists all the apps, and the main page of the project. You can ignore it, it's not very interesting.
  • "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 libs/, 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

Languages

  • Python 94.5%
  • JavaScript 2.6%
  • HTML 2.0%
  • CSS 0.9%