aboutsummaryrefslogtreecommitdiffstats
path: root/pysite
diff options
context:
space:
mode:
authorGravatar Johannes Christ <[email protected]>2018-08-11 23:23:40 +0200
committerGravatar Johannes Christ <[email protected]>2018-08-11 23:23:40 +0200
commit8bec0c42125637de740e44a6dd6c26cb3a71a467 (patch)
tree8313c889cd91e83be414a567f41a192ae4797d18 /pysite
parentInitial project layout for django (diff)
Rename `pydis_django` to `pysite`.
Diffstat (limited to 'pysite')
-rw-r--r--pysite/__init__.py0
-rw-r--r--pysite/hosts.py15
-rw-r--r--pysite/settings.py139
-rw-r--r--pysite/urls/__init__.py0
-rw-r--r--pysite/urls/admin.py6
-rw-r--r--pysite/urls/api.py6
-rw-r--r--pysite/urls/main.py21
-rw-r--r--pysite/urls/staff.py6
-rw-r--r--pysite/urls/wiki.py6
-rw-r--r--pysite/urls/ws.py6
-rw-r--r--pysite/wsgi.py16
11 files changed, 221 insertions, 0 deletions
diff --git a/pysite/__init__.py b/pysite/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/pysite/__init__.py
diff --git a/pysite/hosts.py b/pysite/hosts.py
new file mode 100644
index 00000000..bb261dee
--- /dev/null
+++ b/pysite/hosts.py
@@ -0,0 +1,15 @@
+from django.conf import settings
+from django_hosts import host, patterns
+
+host_patterns = patterns(
+ "pysite.urls",
+
+ # > | Subdomain | URL Module | Host entry name |
+ host(r"admin", "admin", name="admin"),
+ host(r"api", "api", name="api"),
+ host(r"staff", "staff", name="staff"),
+ host(r"wiki", "wiki", name="wiki"),
+ host(r"ws", "ws", name="ws"),
+
+ host(r".*", "main", name=settings.DEFAULT_HOST)
+)
diff --git a/pysite/settings.py b/pysite/settings.py
new file mode 100644
index 00000000..fc705db6
--- /dev/null
+++ b/pysite/settings.py
@@ -0,0 +1,139 @@
+"""
+Django settings for pysite project.
+
+Generated by 'django-admin startproject' using Django 2.1.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/2.1/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/2.1/ref/settings/
+"""
+
+import os
+
+# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
+BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+
+
+# Quick-start development settings - unsuitable for production
+# See https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = os.getenv("SECRET_KEY", "+_x00w3e94##2-qm-v(5&-x_@*l3t9zlir1etu+7$@4%!it2##")
+
+ALLOWED_HOSTS = ["pythondiscord.com"]
+
+
+# Application definition
+
+INSTALLED_APPS = [
+ "django.contrib.admin",
+ "django.contrib.auth",
+ "django.contrib.contenttypes",
+ "django.contrib.sessions",
+ "django.contrib.messages",
+ "django.contrib.staticfiles",
+
+ "django_hosts",
+]
+
+MIDDLEWARE = [
+ "django_hosts.middleware.HostsRequestMiddleware",
+
+ "django.middleware.security.SecurityMiddleware",
+ "django.contrib.sessions.middleware.SessionMiddleware",
+ "django.middleware.common.CommonMiddleware",
+ "django.middleware.csrf.CsrfViewMiddleware",
+ "django.contrib.auth.middleware.AuthenticationMiddleware",
+ "django.contrib.messages.middleware.MessageMiddleware",
+ "django.middleware.clickjacking.XFrameOptionsMiddleware",
+
+ "django_hosts.middleware.HostsResponseMiddleware",
+]
+ROOT_URLCONF = "pysite.urls.main"
+
+TEMPLATES = [
+ {
+ "BACKEND": "django.template.backends.django.DjangoTemplates",
+ "DIRS": [os.path.join(BASE_DIR, "pysite", "templates")],
+ "APP_DIRS": True,
+ "OPTIONS": {
+ "builtins": [
+ "django_hosts.templatetags.hosts_override",
+ ],
+
+ "context_processors": [
+ "django.template.context_processors.debug",
+ "django.template.context_processors.request",
+ "django.contrib.auth.context_processors.auth",
+ "django.contrib.messages.context_processors.messages",
+ ],
+ },
+ },
+]
+
+WSGI_APPLICATION = "pysite.wsgi.application"
+
+
+# Database
+# https://docs.djangoproject.com/en/2.1/ref/settings/#databases
+
+DATABASES = {
+ "default": {
+ "ENGINE": "django.db.backends.sqlite3",
+ "NAME": os.path.join(BASE_DIR, "db.sqlite3"),
+ }
+}
+
+
+# Password validation
+# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators
+
+AUTH_PASSWORD_VALIDATORS = [
+ {
+ "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
+ },
+ {
+ "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
+ },
+ {
+ "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",
+ },
+ {
+ "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",
+ },
+]
+
+
+# Internationalization
+# https://docs.djangoproject.com/en/2.1/topics/i18n/
+
+LANGUAGE_CODE = "en-us"
+
+TIME_ZONE = "UTC"
+
+USE_I18N = True
+
+USE_L10N = True
+
+USE_TZ = True
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/2.1/howto/static-files/
+
+STATIC_URL = "/static/"
+
+# Custom settings
+
+DEBUG = False
+DEFAULT_HOST = "main"
+PARENT_HOST = "pythondiscord.com"
+
+if os.getenv("DEBUG") is not None: # Debug mode
+ ALLOWED_HOSTS = ["pythondiscord.local"]
+ DEBUG = True
+ PARENT_HOST = "pythondiscord.local:8000"
+
+ROOT_HOSTCONF = "pysite.hosts"
diff --git a/pysite/urls/__init__.py b/pysite/urls/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/pysite/urls/__init__.py
diff --git a/pysite/urls/admin.py b/pysite/urls/admin.py
new file mode 100644
index 00000000..dfc73621
--- /dev/null
+++ b/pysite/urls/admin.py
@@ -0,0 +1,6 @@
+from django.contrib import admin
+from django.urls import path
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+]
diff --git a/pysite/urls/api.py b/pysite/urls/api.py
new file mode 100644
index 00000000..dfc73621
--- /dev/null
+++ b/pysite/urls/api.py
@@ -0,0 +1,6 @@
+from django.contrib import admin
+from django.urls import path
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+]
diff --git a/pysite/urls/main.py b/pysite/urls/main.py
new file mode 100644
index 00000000..90453f65
--- /dev/null
+++ b/pysite/urls/main.py
@@ -0,0 +1,21 @@
+"""pydis_django URL Configuration
+
+The `urlpatterns` list routes URLs to views. For more information please see:
+ https://docs.djangoproject.com/en/2.1/topics/http/urls/
+Examples:
+Function views
+ 1. Add an import: from my_app import views
+ 2. Add a URL to urlpatterns: path('', views.home, name='home')
+Class-based views
+ 1. Add an import: from other_app.views import Home
+ 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
+Including another URLconf
+ 1. Import the include() function: from django.urls import include, path
+ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
+"""
+from django.contrib import admin
+from django.urls import path
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+]
diff --git a/pysite/urls/staff.py b/pysite/urls/staff.py
new file mode 100644
index 00000000..dfc73621
--- /dev/null
+++ b/pysite/urls/staff.py
@@ -0,0 +1,6 @@
+from django.contrib import admin
+from django.urls import path
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+]
diff --git a/pysite/urls/wiki.py b/pysite/urls/wiki.py
new file mode 100644
index 00000000..dfc73621
--- /dev/null
+++ b/pysite/urls/wiki.py
@@ -0,0 +1,6 @@
+from django.contrib import admin
+from django.urls import path
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+]
diff --git a/pysite/urls/ws.py b/pysite/urls/ws.py
new file mode 100644
index 00000000..dfc73621
--- /dev/null
+++ b/pysite/urls/ws.py
@@ -0,0 +1,6 @@
+from django.contrib import admin
+from django.urls import path
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+]
diff --git a/pysite/wsgi.py b/pysite/wsgi.py
new file mode 100644
index 00000000..0a7ca6bd
--- /dev/null
+++ b/pysite/wsgi.py
@@ -0,0 +1,16 @@
+"""
+WSGI config for pysite project.
+
+It exposes the WSGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/2.1/howto/deployment/wsgi/
+"""
+
+import os
+
+from django.core.wsgi import get_wsgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'pysite.settings')
+
+application = get_wsgi_application()