Skip to content

Commit 791274f

Browse files
committed
Add Django example
1 parent 56ccd5c commit 791274f

File tree

14 files changed

+280
-0
lines changed

14 files changed

+280
-0
lines changed

code/python/examples/django/datastar/__init__.py

Whitespace-only changes.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"""
2+
ASGI config for datastar 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/4.2/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", "datastar.settings")
15+
16+
application = get_asgi_application()
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
"""
2+
Django settings for datastar project.
3+
4+
Generated by 'django-admin startproject' using Django 4.2.16.
5+
6+
For more information on this file, see
7+
https://docs.djangoproject.com/en/4.2/topics/settings/
8+
9+
For the full list of settings and their values, see
10+
https://docs.djangoproject.com/en/4.2/ref/settings/
11+
"""
12+
13+
from pathlib import Path
14+
15+
# Build paths inside the project like this: BASE_DIR / 'subdir'.
16+
BASE_DIR = Path(__file__).resolve().parent.parent
17+
18+
19+
# Quick-start development settings - unsuitable for production
20+
# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/
21+
22+
# SECURITY WARNING: keep the secret key used in production secret!
23+
SECRET_KEY = "django-insecure-_=(hbyv-s)mgn*5d!0wmq#-dd7wq4v6200+^5anv+5lt_8sp*)"
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+
]
41+
42+
MIDDLEWARE = [
43+
"django.middleware.security.SecurityMiddleware",
44+
"django.contrib.sessions.middleware.SessionMiddleware",
45+
"django.middleware.common.CommonMiddleware",
46+
"django.middleware.csrf.CsrfViewMiddleware",
47+
"django.contrib.auth.middleware.AuthenticationMiddleware",
48+
"django.contrib.messages.middleware.MessageMiddleware",
49+
"django.middleware.clickjacking.XFrameOptionsMiddleware",
50+
]
51+
52+
ROOT_URLCONF = "datastar.urls"
53+
54+
TEMPLATES = [
55+
{
56+
"BACKEND": "django.template.backends.django.DjangoTemplates",
57+
"DIRS": [],
58+
"APP_DIRS": True,
59+
"OPTIONS": {
60+
"context_processors": [
61+
"django.template.context_processors.debug",
62+
"django.template.context_processors.request",
63+
"django.contrib.auth.context_processors.auth",
64+
"django.contrib.messages.context_processors.messages",
65+
],
66+
},
67+
},
68+
]
69+
70+
WSGI_APPLICATION = "datastar.wsgi.application"
71+
72+
73+
# Database
74+
# https://docs.djangoproject.com/en/4.2/ref/settings/#databases
75+
76+
DATABASES = {
77+
"default": {
78+
"ENGINE": "django.db.backends.sqlite3",
79+
"NAME": BASE_DIR / "db.sqlite3",
80+
}
81+
}
82+
83+
84+
# Password validation
85+
# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators
86+
87+
AUTH_PASSWORD_VALIDATORS = [
88+
{
89+
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
90+
},
91+
{
92+
"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
93+
},
94+
{
95+
"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",
96+
},
97+
{
98+
"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",
99+
},
100+
]
101+
102+
103+
# Internationalization
104+
# https://docs.djangoproject.com/en/4.2/topics/i18n/
105+
106+
LANGUAGE_CODE = "en-us"
107+
108+
TIME_ZONE = "UTC"
109+
110+
USE_I18N = True
111+
112+
USE_TZ = True
113+
114+
115+
# Static files (CSS, JavaScript, Images)
116+
# https://docs.djangoproject.com/en/4.2/howto/static-files/
117+
118+
STATIC_URL = "static/"
119+
120+
# Default primary key field type
121+
# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field
122+
123+
DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
"""
2+
URL configuration for datastar project.
3+
4+
The `urlpatterns` list routes URLs to views. For more information please see:
5+
https://docs.djangoproject.com/en/4.2/topics/http/urls/
6+
Examples:
7+
Function views
8+
1. Add an import: from my_app import views
9+
2. Add a URL to urlpatterns: path('', views.home, name='home')
10+
Class-based views
11+
1. Add an import: from other_app.views import Home
12+
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
13+
Including another URLconf
14+
1. Import the include() function: from django.urls import include, path
15+
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
16+
"""
17+
18+
from django.contrib import admin
19+
from django.urls import path
20+
from ds import views
21+
22+
urlpatterns = [
23+
path("admin/", admin.site.urls),
24+
path("", views.home),
25+
path("updates", views.updates),
26+
]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"""
2+
WSGI config for datastar 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/4.2/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", "datastar.settings")
15+
16+
application = get_wsgi_application()

code/python/examples/django/ds/__init__.py

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Register your models here.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class DsConfig(AppConfig):
5+
default_auto_field = "django.db.models.BigAutoField"
6+
name = "ds"

code/python/examples/django/ds/migrations/__init__.py

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Create your models here.

0 commit comments

Comments
 (0)