Skip to content

Commit 4516618

Browse files
authored
Merge pull request #142 from realpython/django-auth-views
Sample code for django-view-auth
2 parents 12f8baa + 5b54893 commit 4516618

File tree

23 files changed

+389
-0
lines changed

23 files changed

+389
-0
lines changed

django-view-auth/.gitignore

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# git ls-files --others --exclude-from=.git/info/exclude
2+
# Lines that start with '#' are comments.
3+
# For a project mostly in C, the following would be a good set of
4+
# exclude patterns (uncomment them if you want to use them):
5+
# *.[oa]
6+
# *~
7+
.DS_Store
8+
*.pyc
9+
*.o
10+
*.so
11+
*.swp
12+
*~
13+
.coverage*
14+
htmlcov/
15+
foo.py
16+
debug.log
17+
db.sqlite3
18+
logs/*
19+
*.egg
20+
*.eggs
21+
*.egg-info
22+
build/
23+
dist/
24+
docs/_build/
25+
extras/sample_site/uploads/
26+
extras/sample_site/db.sqlite3
27+
.tox/

django-view-auth/Blog/Blog/__init__.py

Whitespace-only changes.

django-view-auth/Blog/Blog/asgi.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"""
2+
ASGI config for Blog project.
3+
4+
It exposes the ASGI callable as a module-level variable named ``application``.
5+
6+
For more information on this file, see
7+
https://docs.djangoproject.com/en/3.0/howto/deployment/asgi/
8+
"""
9+
10+
import os
11+
12+
from django.core.asgi import get_asgi_application
13+
14+
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Blog.settings")
15+
16+
application = get_asgi_application()
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
"""
2+
Django settings for Blog project.
3+
4+
Generated by 'django-admin startproject' using Django 3.0.7.
5+
6+
For more information on this file, see
7+
https://docs.djangoproject.com/en/3.0/topics/settings/
8+
9+
For the full list of settings and their values, see
10+
https://docs.djangoproject.com/en/3.0/ref/settings/
11+
"""
12+
13+
import os
14+
15+
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
16+
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
17+
18+
19+
# Quick-start development settings - unsuitable for production
20+
# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/
21+
22+
# SECURITY WARNING: keep the secret key used in production secret!
23+
SECRET_KEY = "9p2cpl%!f8a0tptz_85&dulu&!_ve=j_0s6-l4=tc-g!p-$whj"
24+
25+
# SECURITY WARNING: don't run with debug turned on in production!
26+
DEBUG = True
27+
28+
ALLOWED_HOSTS = []
29+
30+
31+
# Application definition
32+
33+
INSTALLED_APPS = [
34+
"django.contrib.admin",
35+
"django.contrib.auth",
36+
"django.contrib.contenttypes",
37+
"django.contrib.sessions",
38+
"django.contrib.messages",
39+
"django.contrib.staticfiles",
40+
"core",
41+
]
42+
43+
MIDDLEWARE = [
44+
"django.middleware.security.SecurityMiddleware",
45+
"django.contrib.sessions.middleware.SessionMiddleware",
46+
"django.middleware.common.CommonMiddleware",
47+
"django.middleware.csrf.CsrfViewMiddleware",
48+
"django.contrib.auth.middleware.AuthenticationMiddleware",
49+
"django.contrib.messages.middleware.MessageMiddleware",
50+
"django.middleware.clickjacking.XFrameOptionsMiddleware",
51+
]
52+
53+
ROOT_URLCONF = "Blog.urls"
54+
55+
TEMPLATES = [
56+
{
57+
"BACKEND": "django.template.backends.django.DjangoTemplates",
58+
"DIRS": [os.path.join(BASE_DIR, "templates")],
59+
"APP_DIRS": True,
60+
"OPTIONS": {
61+
"context_processors": [
62+
"django.template.context_processors.debug",
63+
"django.template.context_processors.request",
64+
"django.contrib.auth.context_processors.auth",
65+
"django.contrib.messages.context_processors.messages",
66+
],
67+
},
68+
},
69+
]
70+
71+
WSGI_APPLICATION = "Blog.wsgi.application"
72+
73+
74+
# Database
75+
# https://docs.djangoproject.com/en/3.0/ref/settings/#databases
76+
77+
DATABASES = {
78+
"default": {
79+
"ENGINE": "django.db.backends.sqlite3",
80+
"NAME": os.path.join(BASE_DIR, "db.sqlite3"),
81+
}
82+
}
83+
84+
85+
# Password validation
86+
# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators
87+
88+
AUTH_PASSWORD_VALIDATORS = []
89+
90+
91+
# Internationalization
92+
# https://docs.djangoproject.com/en/3.0/topics/i18n/
93+
94+
LANGUAGE_CODE = "en-us"
95+
96+
TIME_ZONE = "UTC"
97+
98+
USE_I18N = True
99+
100+
USE_L10N = True
101+
102+
USE_TZ = True
103+
104+
105+
# Static files (CSS, JavaScript, Images)
106+
# https://docs.djangoproject.com/en/3.0/howto/static-files/
107+
108+
STATIC_URL = "/static/"

django-view-auth/Blog/Blog/urls.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from django.contrib import admin
2+
from django.urls import path, include
3+
from core import views as core_views
4+
5+
urlpatterns = [
6+
path("admin/", admin.site.urls),
7+
path("", core_views.listing, name="listing"),
8+
path("view_blog/<int:blog_id>/", core_views.view_blog, name="view_blog"),
9+
path("see_request/", core_views.see_request),
10+
path("user_info/", core_views.user_info),
11+
path("private_place/", core_views.private_place),
12+
path("accounts/", include("django.contrib.auth.urls")),
13+
path("staff_place/", core_views.staff_place),
14+
path("add_messages/", core_views.add_messages),
15+
]

django-view-auth/Blog/Blog/wsgi.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"""
2+
WSGI config for Blog project.
3+
4+
It exposes the WSGI callable as a module-level variable named ``application``.
5+
6+
For more information on this file, see
7+
https://docs.djangoproject.com/en/3.0/howto/deployment/wsgi/
8+
"""
9+
10+
import os
11+
12+
from django.core.wsgi import get_wsgi_application
13+
14+
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Blog.settings")
15+
16+
application = get_wsgi_application()

django-view-auth/Blog/core/__init__.py

Whitespace-only changes.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from django.contrib import admin
2+
from core.models import Blog
3+
4+
5+
@admin.register(Blog)
6+
class BlogAdmin(admin.ModelAdmin):
7+
pass

django-view-auth/Blog/core/apps.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from django.apps import AppConfig
2+
3+
4+
class CoreConfig(AppConfig):
5+
name = "core"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[{"model": "core.blog", "pk": 1, "fields": {"title": "Fruit", "content": "<p> Turns out, you can compare them: </p>\r\n\r\n<ul>\r\n <li>Apple</li>\r\n <li>Orange</li>\r\n</ul>"}}, {"model": "core.blog", "pk": 2, "fields": {"title": "I like airplanes", "content": "I prefer them to be very <i>fast</i>. I wish the Concorde still existed."}}]

0 commit comments

Comments
 (0)