Repository files navigation

django-template is a Scaf template for creating production-ready Django web applications with modern tooling and best practices.

What This Template Provides

Generate Django projects with Docker Compose development environment, ASGI support, authentication, GraphQL API, optional Celery task queue, optional Sentry error tracking, and full CI/CD configuration for GitHub or GitLab.

Features

  • Django 6.0 with ASGI support via Daphne
  • Docker Compose development environment with PostgreSQL, Redis, and Mailpit
  • Authentication via django-allauth with email verification
  • GraphQL API with Strawberry and DataLoader
  • Optional Celery for distributed task processing with beat scheduler
  • Optional Sentry integration for error tracking
  • CI/CD scaffolding for GitHub Actions or GitLab CI
  • Semantic Release automation for versioning and changelogs
  • Secret Scanning with gitleaks in CI
  • PyCharm & VS Code debug configurations included
  • Nix development environment with direnv integration
  • 1Password CLI integration for secrets management
  • Choice of task runner (make, task, or just)
  • Comprehensive documentation for development, debugging, and upgrades

Copier Options

  • copier__project_name: Human-readable project name
  • copier__project_slug: Python identifier-style slug
  • copier__description: Short project description
  • copier__author_name: Author name
  • copier__domain_name: Project domain
  • copier__email: Author email
  • copier__timezone: Default timezone (e.g., America/New_York)
  • copier__use_celery: Enable Celery for task management
  • copier__use_sentry: Enable Sentry error tracking
  • copier__task_runner: Choose make, task, or just
  • copier__configure_repo: Enable repository remote setup
  • copier__repo_provider: github or gitlab
  • copier__repo_org: Organization/group name
  • copier__repo_name: Repository name
  • copier__create_repo: Auto-create repository if missing
  • copier__repo_visibility: private or public
  • copier__ci_provider: CI provider (inferred from repo provider)
  • copier__enable_semantic_release: Include semantic-release automation
  • copier__github_semantic_release_auth: github_token or github_app
  • copier__enable_secret_scanning: Include gitleaks secret scanning

Quick Start

# Local path
scaf my-django-project ./django-template
# Git URL
scaf my-django-project https://github.com/getscaf/django-template.git

Testing This Template

Run local render tests:

make test-template-render

CI runs the same command in .github/workflows/template-render-tests.yaml.

Generated Project Docs

Each generated project includes:

  • docs/development.md - Local development setup and workflows
  • docs/debug.md - Debugging with PyCharm and VS Code
  • docs/project-overview.md - Architecture and technology stack
  • docs/using-template.md - Day-to-day template usage
  • docs/upgrading.md - Copier update workflow
  • docs/semantic-release-github.md (when GitHub + semantic-release is enabled)
  • docs/semantic-release-gitlab.md (when GitLab + semantic-release is enabled)

These cover day-to-day usage and copier update workflow for downstream projects.

License

Apache-2.0. See LICENSE.

About

The template for standalone django

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

django-template is a Scaf template for creating production-ready Django web applications with modern tooling and best practices.

What This Template Provides

Generate Django projects with Docker Compose development environment, ASGI support, authentication, GraphQL API, optional Celery task queue, optional Sentry error tracking, and full CI/CD configuration for GitHub or GitLab.

Features

  • Django 6.0 with ASGI support via Daphne
  • Docker Compose development environment with PostgreSQL, Redis, and Mailpit
  • Authentication via django-allauth with email verification
  • GraphQL API with Strawberry and DataLoader
  • Optional Celery for distributed task processing with beat scheduler
  • Optional Sentry integration for error tracking
  • CI/CD scaffolding for GitHub Actions or GitLab CI
  • Semantic Release automation for versioning and changelogs
  • Secret Scanning with gitleaks in CI
  • PyCharm & VS Code debug configurations included
  • Nix development environment with direnv integration
  • 1Password CLI integration for secrets management
  • Choice of task runner (make, task, or just)
  • Comprehensive documentation for development, debugging, and upgrades

Copier Options

  • copier__project_name: Human-readable project name
  • copier__project_slug: Python identifier-style slug
  • copier__description: Short project description
  • copier__author_name: Author name
  • copier__domain_name: Project domain
  • copier__email: Author email
  • copier__timezone: Default timezone (e.g., America/New_York)
  • copier__use_celery: Enable Celery for task management
  • copier__use_sentry: Enable Sentry error tracking
  • copier__task_runner: Choose make, task, or just
  • copier__configure_repo: Enable repository remote setup
  • copier__repo_provider: github or gitlab
  • copier__repo_org: Organization/group name
  • copier__repo_name: Repository name
  • copier__create_repo: Auto-create repository if missing
  • copier__repo_visibility: private or public
  • copier__ci_provider: CI provider (inferred from repo provider)
  • copier__enable_semantic_release: Include semantic-release automation
  • copier__github_semantic_release_auth: github_token or github_app
  • copier__enable_secret_scanning: Include gitleaks secret scanning

Quick Start

# Local path
scaf my-django-project ./django-template
# Git URL
scaf my-django-project https://github.com/getscaf/django-template.git

Testing This Template

Run local render tests:

make test-template-render

CI runs the same command in .github/workflows/template-render-tests.yaml.

Generated Project Docs

Each generated project includes:

  • docs/development.md - Local development setup and workflows
  • docs/debug.md - Debugging with PyCharm and VS Code
  • docs/project-overview.md - Architecture and technology stack
  • docs/using-template.md - Day-to-day template usage
  • docs/upgrading.md - Copier update workflow
  • docs/semantic-release-github.md (when GitHub + semantic-release is enabled)
  • docs/semantic-release-gitlab.md (when GitLab + semantic-release is enabled)

These cover day-to-day usage and copier update workflow for downstream projects.

License

Apache-2.0. See LICENSE.

About

The template for standalone django

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

django-template is a Scaf template for creating production-ready Django web applications with modern tooling and best practices.

What This Template Provides

Generate Django projects with Docker Compose development environment, ASGI support, authentication, GraphQL API, optional Celery task queue, optional Sentry error tracking, and full CI/CD configuration for GitHub or GitLab.

Features

  • Django 6.0 with ASGI support via Daphne
  • Docker Compose development environment with PostgreSQL, Redis, and Mailpit
  • Authentication via django-allauth with email verification
  • GraphQL API with Strawberry and DataLoader
  • Optional Celery for distributed task processing with beat scheduler
  • Optional Sentry integration for error tracking
  • CI/CD scaffolding for GitHub Actions or GitLab CI
  • Semantic Release automation for versioning and changelogs
  • Secret Scanning with gitleaks in CI
  • PyCharm & VS Code debug configurations included
  • Nix development environment with direnv integration
  • 1Password CLI integration for secrets management
  • Choice of task runner (make, task, or just)
  • Comprehensive documentation for development, debugging, and upgrades

Copier Options

  • copier__project_name: Human-readable project name
  • copier__project_slug: Python identifier-style slug
  • copier__description: Short project description
  • copier__author_name: Author name
  • copier__domain_name: Project domain
  • copier__email: Author email
  • copier__timezone: Default timezone (e.g., America/New_York)
  • copier__use_celery: Enable Celery for task management
  • copier__use_sentry: Enable Sentry error tracking
  • copier__task_runner: Choose make, task, or just
  • copier__configure_repo: Enable repository remote setup
  • copier__repo_provider: github or gitlab
  • copier__repo_org: Organization/group name
  • copier__repo_name: Repository name
  • copier__create_repo: Auto-create repository if missing
  • copier__repo_visibility: private or public
  • copier__ci_provider: CI provider (inferred from repo provider)
  • copier__enable_semantic_release: Include semantic-release automation
  • copier__github_semantic_release_auth: github_token or github_app
  • copier__enable_secret_scanning: Include gitleaks secret scanning

Quick Start

# Local path
scaf my-django-project ./django-template
# Git URL
scaf my-django-project https://github.com/getscaf/django-template.git

Testing This Template

Run local render tests:

make test-template-render

CI runs the same command in .github/workflows/template-render-tests.yaml.

Generated Project Docs

Each generated project includes:

  • docs/development.md - Local development setup and workflows
  • docs/debug.md - Debugging with PyCharm and VS Code
  • docs/project-overview.md - Architecture and technology stack
  • docs/using-template.md - Day-to-day template usage
  • docs/upgrading.md - Copier update workflow
  • docs/semantic-release-github.md (when GitHub + semantic-release is enabled)
  • docs/semantic-release-gitlab.md (when GitLab + semantic-release is enabled)

These cover day-to-day usage and copier update workflow for downstream projects.

License

Apache-2.0. See LICENSE.

About

The template for standalone django

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

django-template is a Scaf template for creating production-ready Django web applications with modern tooling and best practices.

What This Template Provides

Generate Django projects with Docker Compose development environment, ASGI support, authentication, GraphQL API, optional Celery task queue, optional Sentry error tracking, and full CI/CD configuration for GitHub or GitLab.

Features

  • Django 6.0 with ASGI support via Daphne
  • Docker Compose development environment with PostgreSQL, Redis, and Mailpit
  • Authentication via django-allauth with email verification
  • GraphQL API with Strawberry and DataLoader
  • Optional Celery for distributed task processing with beat scheduler
  • Optional Sentry integration for error tracking
  • CI/CD scaffolding for GitHub Actions or GitLab CI
  • Semantic Release automation for versioning and changelogs
  • Secret Scanning with gitleaks in CI
  • PyCharm & VS Code debug configurations included
  • Nix development environment with direnv integration
  • 1Password CLI integration for secrets management
  • Choice of task runner (make, task, or just)
  • Comprehensive documentation for development, debugging, and upgrades

Copier Options

  • copier__project_name: Human-readable project name
  • copier__project_slug: Python identifier-style slug
  • copier__description: Short project description
  • copier__author_name: Author name
  • copier__domain_name: Project domain
  • copier__email: Author email
  • copier__timezone: Default timezone (e.g., America/New_York)
  • copier__use_celery: Enable Celery for task management
  • copier__use_sentry: Enable Sentry error tracking
  • copier__task_runner: Choose make, task, or just
  • copier__configure_repo: Enable repository remote setup
  • copier__repo_provider: github or gitlab
  • copier__repo_org: Organization/group name
  • copier__repo_name: Repository name
  • copier__create_repo: Auto-create repository if missing
  • copier__repo_visibility: private or public
  • copier__ci_provider: CI provider (inferred from repo provider)
  • copier__enable_semantic_release: Include semantic-release automation
  • copier__github_semantic_release_auth: github_token or github_app
  • copier__enable_secret_scanning: Include gitleaks secret scanning

Quick Start

# Local path
scaf my-django-project ./django-template
# Git URL
scaf my-django-project https://github.com/getscaf/django-template.git

Testing This Template

Run local render tests:

make test-template-render

CI runs the same command in .github/workflows/template-render-tests.yaml.

Generated Project Docs

Each generated project includes:

  • docs/development.md - Local development setup and workflows
  • docs/debug.md - Debugging with PyCharm and VS Code
  • docs/project-overview.md - Architecture and technology stack
  • docs/using-template.md - Day-to-day template usage
  • docs/upgrading.md - Copier update workflow
  • docs/semantic-release-github.md (when GitHub + semantic-release is enabled)
  • docs/semantic-release-gitlab.md (when GitLab + semantic-release is enabled)

These cover day-to-day usage and copier update workflow for downstream projects.

License

Apache-2.0. See LICENSE.

About

The template for standalone django

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

django-template is a Scaf template for creating production-ready Django web applications with modern tooling and best practices.

What This Template Provides

Generate Django projects with Docker Compose development environment, ASGI support, authentication, GraphQL API, optional Celery task queue, optional Sentry error tracking, and full CI/CD configuration for GitHub or GitLab.

Features

  • Django 6.0 with ASGI support via Daphne
  • Docker Compose development environment with PostgreSQL, Redis, and Mailpit
  • Authentication via django-allauth with email verification
  • GraphQL API with Strawberry and DataLoader
  • Optional Celery for distributed task processing with beat scheduler
  • Optional Sentry integration for error tracking
  • CI/CD scaffolding for GitHub Actions or GitLab CI
  • Semantic Release automation for versioning and changelogs
  • Secret Scanning with gitleaks in CI
  • PyCharm & VS Code debug configurations included
  • Nix development environment with direnv integration
  • 1Password CLI integration for secrets management
  • Choice of task runner (make, task, or just)
  • Comprehensive documentation for development, debugging, and upgrades

Copier Options

  • copier__project_name: Human-readable project name
  • copier__project_slug: Python identifier-style slug
  • copier__description: Short project description
  • copier__author_name: Author name
  • copier__domain_name: Project domain
  • copier__email: Author email
  • copier__timezone: Default timezone (e.g., America/New_York)
  • copier__use_celery: Enable Celery for task management
  • copier__use_sentry: Enable Sentry error tracking
  • copier__task_runner: Choose make, task, or just
  • copier__configure_repo: Enable repository remote setup
  • copier__repo_provider: github or gitlab
  • copier__repo_org: Organization/group name
  • copier__repo_name: Repository name
  • copier__create_repo: Auto-create repository if missing
  • copier__repo_visibility: private or public
  • copier__ci_provider: CI provider (inferred from repo provider)
  • copier__enable_semantic_release: Include semantic-release automation
  • copier__github_semantic_release_auth: github_token or github_app
  • copier__enable_secret_scanning: Include gitleaks secret scanning

Quick Start

# Local path
scaf my-django-project ./django-template
# Git URL
scaf my-django-project https://github.com/getscaf/django-template.git

Testing This Template

Run local render tests:

make test-template-render

CI runs the same command in .github/workflows/template-render-tests.yaml.

Generated Project Docs

Each generated project includes:

  • docs/development.md - Local development setup and workflows
  • docs/debug.md - Debugging with PyCharm and VS Code
  • docs/project-overview.md - Architecture and technology stack
  • docs/using-template.md - Day-to-day template usage
  • docs/upgrading.md - Copier update workflow
  • docs/semantic-release-github.md (when GitHub + semantic-release is enabled)
  • docs/semantic-release-gitlab.md (when GitLab + semantic-release is enabled)

These cover day-to-day usage and copier update workflow for downstream projects.

License

Apache-2.0. See LICENSE.

About

The template for standalone django

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

django-template is a Scaf template for creating production-ready Django web applications with modern tooling and best practices.

What This Template Provides

Generate Django projects with Docker Compose development environment, ASGI support, authentication, GraphQL API, optional Celery task queue, optional Sentry error tracking, and full CI/CD configuration for GitHub or GitLab.

Features

  • Django 6.0 with ASGI support via Daphne
  • Docker Compose development environment with PostgreSQL, Redis, and Mailpit
  • Authentication via django-allauth with email verification
  • GraphQL API with Strawberry and DataLoader
  • Optional Celery for distributed task processing with beat scheduler
  • Optional Sentry integration for error tracking
  • CI/CD scaffolding for GitHub Actions or GitLab CI
  • Semantic Release automation for versioning and changelogs
  • Secret Scanning with gitleaks in CI
  • PyCharm & VS Code debug configurations included
  • Nix development environment with direnv integration
  • 1Password CLI integration for secrets management
  • Choice of task runner (make, task, or just)
  • Comprehensive documentation for development, debugging, and upgrades

Copier Options

  • copier__project_name: Human-readable project name
  • copier__project_slug: Python identifier-style slug
  • copier__description: Short project description
  • copier__author_name: Author name
  • copier__domain_name: Project domain
  • copier__email: Author email
  • copier__timezone: Default timezone (e.g., America/New_York)
  • copier__use_celery: Enable Celery for task management
  • copier__use_sentry: Enable Sentry error tracking
  • copier__task_runner: Choose make, task, or just
  • copier__configure_repo: Enable repository remote setup
  • copier__repo_provider: github or gitlab
  • copier__repo_org: Organization/group name
  • copier__repo_name: Repository name
  • copier__create_repo: Auto-create repository if missing
  • copier__repo_visibility: private or public
  • copier__ci_provider: CI provider (inferred from repo provider)
  • copier__enable_semantic_release: Include semantic-release automation
  • copier__github_semantic_release_auth: github_token or github_app
  • copier__enable_secret_scanning: Include gitleaks secret scanning

Quick Start

# Local path
scaf my-django-project ./django-template
# Git URL
scaf my-django-project https://github.com/getscaf/django-template.git

Testing This Template

Run local render tests:

make test-template-render

CI runs the same command in .github/workflows/template-render-tests.yaml.

Generated Project Docs

Each generated project includes:

  • docs/development.md - Local development setup and workflows
  • docs/debug.md - Debugging with PyCharm and VS Code
  • docs/project-overview.md - Architecture and technology stack
  • docs/using-template.md - Day-to-day template usage
  • docs/upgrading.md - Copier update workflow
  • docs/semantic-release-github.md (when GitHub + semantic-release is enabled)
  • docs/semantic-release-gitlab.md (when GitLab + semantic-release is enabled)

These cover day-to-day usage and copier update workflow for downstream projects.

License

Apache-2.0. See LICENSE.

About

The template for standalone django

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

django-template is a Scaf template for creating production-ready Django web applications with modern tooling and best practices.

What This Template Provides

Generate Django projects with Docker Compose development environment, ASGI support, authentication, GraphQL API, optional Celery task queue, optional Sentry error tracking, and full CI/CD configuration for GitHub or GitLab.

Features

  • Django 6.0 with ASGI support via Daphne
  • Docker Compose development environment with PostgreSQL, Redis, and Mailpit
  • Authentication via django-allauth with email verification
  • GraphQL API with Strawberry and DataLoader
  • Optional Celery for distributed task processing with beat scheduler
  • Optional Sentry integration for error tracking
  • CI/CD scaffolding for GitHub Actions or GitLab CI
  • Semantic Release automation for versioning and changelogs
  • Secret Scanning with gitleaks in CI
  • PyCharm & VS Code debug configurations included
  • Nix development environment with direnv integration
  • 1Password CLI integration for secrets management
  • Choice of task runner (make, task, or just)
  • Comprehensive documentation for development, debugging, and upgrades

Copier Options

  • copier__project_name: Human-readable project name
  • copier__project_slug: Python identifier-style slug
  • copier__description: Short project description
  • copier__author_name: Author name
  • copier__domain_name: Project domain
  • copier__email: Author email
  • copier__timezone: Default timezone (e.g., America/New_York)
  • copier__use_celery: Enable Celery for task management
  • copier__use_sentry: Enable Sentry error tracking
  • copier__task_runner: Choose make, task, or just
  • copier__configure_repo: Enable repository remote setup
  • copier__repo_provider: github or gitlab
  • copier__repo_org: Organization/group name
  • copier__repo_name: Repository name
  • copier__create_repo: Auto-create repository if missing
  • copier__repo_visibility: private or public
  • copier__ci_provider: CI provider (inferred from repo provider)
  • copier__enable_semantic_release: Include semantic-release automation
  • copier__github_semantic_release_auth: github_token or github_app
  • copier__enable_secret_scanning: Include gitleaks secret scanning

Quick Start

# Local path
scaf my-django-project ./django-template
# Git URL
scaf my-django-project https://github.com/getscaf/django-template.git

Testing This Template

Run local render tests:

make test-template-render

CI runs the same command in .github/workflows/template-render-tests.yaml.

Generated Project Docs

Each generated project includes:

  • docs/development.md - Local development setup and workflows
  • docs/debug.md - Debugging with PyCharm and VS Code
  • docs/project-overview.md - Architecture and technology stack
  • docs/using-template.md - Day-to-day template usage
  • docs/upgrading.md - Copier update workflow
  • docs/semantic-release-github.md (when GitHub + semantic-release is enabled)
  • docs/semantic-release-gitlab.md (when GitLab + semantic-release is enabled)

These cover day-to-day usage and copier update workflow for downstream projects.

License

Apache-2.0. See LICENSE.

About

The template for standalone django

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

django-template is a Scaf template for creating production-ready Django web applications with modern tooling and best practices.

What This Template Provides

Generate Django projects with Docker Compose development environment, ASGI support, authentication, GraphQL API, optional Celery task queue, optional Sentry error tracking, and full CI/CD configuration for GitHub or GitLab.

Features

  • Django 6.0 with ASGI support via Daphne
  • Docker Compose development environment with PostgreSQL, Redis, and Mailpit
  • Authentication via django-allauth with email verification
  • GraphQL API with Strawberry and DataLoader
  • Optional Celery for distributed task processing with beat scheduler
  • Optional Sentry integration for error tracking
  • CI/CD scaffolding for GitHub Actions or GitLab CI
  • Semantic Release automation for versioning and changelogs
  • Secret Scanning with gitleaks in CI
  • PyCharm & VS Code debug configurations included
  • Nix development environment with direnv integration
  • 1Password CLI integration for secrets management
  • Choice of task runner (make, task, or just)
  • Comprehensive documentation for development, debugging, and upgrades

Copier Options

  • copier__project_name: Human-readable project name
  • copier__project_slug: Python identifier-style slug
  • copier__description: Short project description
  • copier__author_name: Author name
  • copier__domain_name: Project domain
  • copier__email: Author email
  • copier__timezone: Default timezone (e.g., America/New_York)
  • copier__use_celery: Enable Celery for task management
  • copier__use_sentry: Enable Sentry error tracking
  • copier__task_runner: Choose make, task, or just
  • copier__configure_repo: Enable repository remote setup
  • copier__repo_provider: github or gitlab
  • copier__repo_org: Organization/group name
  • copier__repo_name: Repository name
  • copier__create_repo: Auto-create repository if missing
  • copier__repo_visibility: private or public
  • copier__ci_provider: CI provider (inferred from repo provider)
  • copier__enable_semantic_release: Include semantic-release automation
  • copier__github_semantic_release_auth: github_token or github_app
  • copier__enable_secret_scanning: Include gitleaks secret scanning

Quick Start

# Local path
scaf my-django-project ./django-template
# Git URL
scaf my-django-project https://github.com/getscaf/django-template.git

Testing This Template

Run local render tests:

make test-template-render

CI runs the same command in .github/workflows/template-render-tests.yaml.

Generated Project Docs

Each generated project includes:

  • docs/development.md - Local development setup and workflows
  • docs/debug.md - Debugging with PyCharm and VS Code
  • docs/project-overview.md - Architecture and technology stack
  • docs/using-template.md - Day-to-day template usage
  • docs/upgrading.md - Copier update workflow
  • docs/semantic-release-github.md (when GitHub + semantic-release is enabled)
  • docs/semantic-release-gitlab.md (when GitLab + semantic-release is enabled)

These cover day-to-day usage and copier update workflow for downstream projects.

License

Apache-2.0. See LICENSE.

About

The template for standalone django

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages