- Saved searches
- Use saved searches to filter your results more quickly
- License
- lucrae/django-cheat-sheet
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
- Django 1.5 cheat sheet
- Django 1.4 cheat sheet
- Django 1.3 cheat sheet
- Need more help with Django? Maybe a book would help.
- django Cheat Sheet by michaelyql
- Created By
- Metadata
- Comments
- Add a Comment
- Related Cheat Sheets
- Latest Cheat Sheet
- Random Cheat Sheet
- About Cheatography
- Behind the Scenes
- Recent Activity
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
A cheat sheet for creating web apps with the Django framework.
License
lucrae/django-cheat-sheet
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
A cheat-sheet for creating web apps with the Django framework using the Python language. Most of the summaries and examples are based on the official documentation for Django v2.0.
🐍 Initializing pipenv (optional)
- Make main folder with $ mkdir and navigate to it with $ cd
- Initialize pipenv with $ pipenv install
- Enter pipenv shell with $ pipenv shell
- Install django with $ pipenv install django
- Install other package dependencies with $ pipenv install
The project directory should look like this:
project/ manage.py project/ __init__.py settings.py urls.py wsgi.py
- Run the development server with $ python manage.py runserver within the project directory
- If you want your SECRET_KEY to be more secure, you can set it to reference an environment variable
- In the settings.py file within the project directory change the SECRET_KEY line to the following:
SECRET_KEY = os.environ.get('SECRET_KEY')
>>> import secrets >>> secrets.token_hex()
- Navigate to the outer project folder $ cd
- Create app with $ python manage.py startapp
- Inside the app folder, create a file called urls.py
The project directory should now look like this:
project/ manage.py db.sqlite3 project/ __init__.py settings.py urls.py wsgi.py app/ migrations/ __init__.py __init__.py admin.py apps.py models.py tests.py urls.py views.py
- To include this app in your project, add your app to the project’s settings.py file by adding its name to the INSTALLED_APPS list:
from django.http import HttpResponse def index(request): return HttpResponse("Hello, World!")
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ]
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('app/', include('app.urls')), path('admin/', admin.site.urls), ]
urlpatterns = [ path("", include('app.urls')), ]
- Remember: there are multiple files named urls.py
- The urls.py file within app directories are organized by the urls.py found in the project folder.
- Within the app directory, HTML, CSS, and JavaScript files are located within the following locations:
app/ templates/ index.html static/ style.css script.js
from django.shortcuts import render def index(request): return render(request,'index.html')
def index(request): context = "context_variable": context_variable> return render(request,'index.html', context)
> html lang pl-s">en"> head> meta charset pl-s">UTF-8"> meta name pl-s">viewport" content pl-s">width=device-width, initial-scale=1"> link rel pl-s">stylesheet" href pl-s"> "> head> html>
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static") ]
from django.db import models class Person(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30)
Note that you don’t need to create a primary key, Django automatically adds an IntegerField.
$ python manage.py makemigrations $ python manage.py migrate
Note: including is optional.
class Musician(models.Model): first_name = models.CharField(max_length=50) last_name = models.CharField(max_length=50) instrument = models.CharField(max_length=100) class Album(models.Model): artist = models.ForeignKey(Musician, on_delete=models.CASCADE) name = models.CharField(max_length=100) release_date = models.DateField() num_stars = models.IntegerField()
>>> m = Musician.objects.get(pk=1) >>> a = m.album_set.get()
class Topping(models.Model): # . pass class Pizza(models.Model): # . toppings = models.ManyToManyField(Topping)
Note that the ManyToManyField is only defined in one model. It doesn’t matter which model has the field, but if in doubt, it should be in the model that will be interacted with in a form.
- Although Django provides a OneToOneField relation, a one-to-one relationship can also be defined by adding the kwarg of unique = True to a model’s ForeignKey :
ForeignKey(SomeModel, unique=True)
📮 Creating model objects and queries
from django.db import models class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() def __str__(self): return self.name class Author(models.Model): name = models.CharField(max_length=200) email = models.EmailField() def __str__(self): return self.name class Entry(models.Model): blog = models.ForeignKey(Blog, on_delete=models.CASCADE) headline = models.CharField(max_length=255) body_text = models.TextField() pub_date = models.DateField() mod_date = models.DateField() authors = models.ManyToManyField(Author) n_comments = models.IntegerField() n_pingbacks = models.IntegerField() rating = models.IntegerField() def __str__(self): return self.headline
>>> from blog.models import Blog >>> b = Blog(name='Beatles Blog', tagline='All the latest Beatles news.') >>> b.save()
>>> b.name = 'The Best Beatles Blog' >>> b.save()
>>> all_entries = Entry.objects.all() >>> indexed_entry = Entry.objects.get(pk=1) >>> find_entry = Entry.objects.filter(name='Beatles Blog')
$ python manage.py createsuperuser
from django.contrib import admin from .models import Author, Book admin.site.register(Author) admin.site.register(Book)
About
A cheat sheet for creating web apps with the Django framework.
Django 1.5 cheat sheet
Updated for Django 1.5 for PyCon 2013 where everyone got a nice laminated copy in their swag bags. Older cheatsheets for Django 1.3 and 1.4 are below.
You can also signup for our low traffic newsletter Django tips and tricks.
Django 1.4 cheat sheet
Here is an updated version Jacob put together for PyCon 2012.
Django 1.3 cheat sheet
Jacob put together this awesome cheat sheet that we handed out in the swag bag at PyCon 2011. Due to its popularity we have now posted it here online. Enjoy!
Need more help with Django? Maybe a book would help.
In case our cheat sheet and the official Django docs aren’t enough to help out, here are some good books we recommend on Django. You’ll want to read over the descriptions of these as not all of them are appropriate for new beginners.
Book | Description |
---|---|
Two Scoops of Django: Best Practices For Django 1.6 | UPDATED Two Scoops of Django Danny and Audrey have released a new version of Two Scoops updated for Django 1.6. |
Two Scoops of Django: Best Practices For Django 1.5 | Two Scoops of Django is the latest and greatest Django book by Audrey Roy and Danny Greenfeld who have worked often with us on projects and are very active in the Python and Django communities. Packed full of great best practices and tips for Django developers of all skill levels. |
Practical Django Projects | Practical Django Projects is a great book to learn best practices for keeping your applications clean and reusable. |
Pro Django | ProDjango is geared toward intermediate users looking to get more power out of their use of Django. Gives you great examples of relatively hard functionality, such as pausing and resuming arbitrary forms, that you can build on in your own work. |
Django 1.0 Template Development | Have a hard time building your templates the way you wish you could? Django 1.0 Template Development is a loaded with examples of ways to improve your template related work. A definite must for any designers on your staff. |
Django 1.1 Testing and Debugging | Django 1.1 Testing and Debugging while this book was written specifically for Django 1.1., don’t let that scare you. This book is still extrememly useful for improving your testing and debugging skills. |
Still having trouble? We offer Django consulting and development services.
As an Amazon Associate we earn from qualifying purchases.
django Cheat Sheet by michaelyql
Your Download Will Begin Automatically in 12 Seconds.
Created By
Metadata
Comments
No comments yet. Add yours below!
Add a Comment
Related Cheat Sheets
DaveChild
lewiseason
kizzlebot
Latest Cheat Sheet
Discuss reasons for studying viruses. Understand the history of virus discovery Define the term ‘Virus’ Describe the definitive properties/characters of viruses Explain whether are viruses living or nonliving entities. Describe the basic structure and components of viruses. Types of Viruses and their Impact.
UmeshJagtap
Random Cheat Sheet
nqramjets
About Cheatography
Cheatography is a collection of 5994 cheat sheets and quick references in 25 languages for everything from programming to business!
Behind the Scenes
Recent Activity
tangobreaker updated Warpstar! and Warlock! RPG Cheat Sheet.
2 days 6 hours ago
UmeshJagtap published Viruses Demystified.
3 days 6 hours ago
VJR updated Power Automate Desktop Actions.
3 days 17 hours ago
m_amendola published CUDA Programming.
4 days 8 hours ago
KontoDoNauki updated HMP 4- Starożytna Grecja i Rzym cz.1.
5 days, 1 hour ago