falco-cli 0.2.0__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {falco_cli-0.2.0 → falco_cli-0.2.2}/.pre-commit-config.yaml +1 -1
- {falco_cli-0.2.0 → falco_cli-0.2.2}/PKG-INFO +1 -1
- {falco_cli-0.2.0/demo/demo → falco_cli-0.2.2/demo/config}/settings.py +5 -5
- {falco_cli-0.2.0/demo/demo → falco_cli-0.2.2/demo/config}/urls.py +2 -2
- {falco_cli-0.2.0 → falco_cli-0.2.2/demo}/demo/core/apps.py +1 -1
- {falco_cli-0.2.0 → falco_cli-0.2.2/demo}/demo/orders/apps.py +1 -1
- {falco_cli-0.2.0 → falco_cli-0.2.2/demo}/demo/products/apps.py +1 -1
- {falco_cli-0.2.0 → falco_cli-0.2.2}/demo/manage.py +1 -1
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/tips_and_extra.rst +7 -0
- falco_cli-0.2.2/docs/images/project-tree.svg +206 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/scripts/make_blueprints_from_demo.py +3 -3
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/__about__.py +1 -1
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/crud/detail.html +1 -1
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/crud/update.html +1 -1
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/config/settings.py +5 -1
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/project_name/templates/base.html +3 -1
- falco_cli-0.2.2/src/falco_blueprints/project_name/project_name/users/forms.py +12 -0
- falco_cli-0.2.0/docs/images/project-tree.svg +0 -206
- {falco_cli-0.2.0 → falco_cli-0.2.2}/.all-contributorsrc +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/.github/dependabot.yml +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/.github/workflows/ci.yml +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/.github/workflows/documentation.yml +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/.github/workflows/pre-commit-auto-update.yml +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/.gitignore +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/.vscode/settings.json +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/CODE_OF_CONDUCT.md +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/LICENSE +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/README.md +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/all-contributorsrc +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/assets/falco-logo.svg +0 -0
- {falco_cli-0.2.0/demo/core → falco_cli-0.2.2/demo/config}/__init__.py +0 -0
- {falco_cli-0.2.0/demo/demo → falco_cli-0.2.2/demo/config}/asgi.py +0 -0
- {falco_cli-0.2.0/demo/demo → falco_cli-0.2.2/demo/config}/wsgi.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/demo/demo/__init__.py +0 -0
- {falco_cli-0.2.0/demo/orders → falco_cli-0.2.2/demo/demo/core}/__init__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2/demo}/demo/core/utils.py +0 -0
- {falco_cli-0.2.0/demo/orders/migrations → falco_cli-0.2.2/demo/demo/orders}/__init__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2/demo}/demo/orders/admin.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2/demo}/demo/orders/migrations/0001_initial.py +0 -0
- {falco_cli-0.2.0/demo/products → falco_cli-0.2.2/demo/demo/orders/migrations}/__init__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2/demo}/demo/orders/models.py +0 -0
- {falco_cli-0.2.0/demo/products/migrations → falco_cli-0.2.2/demo/demo/products}/__init__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2/demo}/demo/products/admin.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2/demo}/demo/products/forms.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2/demo}/demo/products/migrations/0001_initial.py +0 -0
- {falco_cli-0.2.0/src/falco_blueprints/project_name/config → falco_cli-0.2.2/demo/demo/products/migrations}/__init__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2/demo}/demo/products/models.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2/demo}/demo/products/tests.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2/demo}/demo/products/urls.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2/demo}/demo/products/views.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/demo/requirements.txt +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/demo/templates/base.html +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/demo/templates/products/product_create.html +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/demo/templates/products/product_detail.html +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/demo/templates/products/product_list.html +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/demo/templates/products/product_update.html +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/.rich-codex.yml +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/Makefile +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/_templates/partials/globaltoc-above.html +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/codeofconduct.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/conf.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/contributing.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/avoiding_god_models.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/database_tips.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/deployment.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/dynamic_model_schema.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/index.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/interactive_user_interfaces.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/logging_and_monitoring.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/multitenancy.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/optimizing_database_access.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/permissions_and_authorization.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/realtime.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/running_project_in_a_container.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/task_queues_and_schedulers.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/use_sqlite_in_production.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/writing_async_code.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/writing_documentation.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/guides/writing_tests.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/images/logo_with_text.svg +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/index.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/install.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/license.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/make.bat +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/the_cli/crud.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/the_cli/htmx.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/the_cli/index.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/the_cli/make_superuser.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/the_cli/migrations.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/the_cli/start_project.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/the_cli/sync_dotenv.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/docs/the_cli/work.rst +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/pyproject.toml +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/scripts/update_readme_guides.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/__init__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/__main__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/commands/__init__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/commands/htmx.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/commands/htmx_extension.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/commands/install_crud_utils.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/commands/make_superuser.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/commands/model_crud.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/commands/reset_migrations.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/commands/rm_migrations.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/commands/start_project.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/commands/sync_dotenv.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/commands/work.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco/utils.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/crud/create.html +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/crud/forms.py.bp +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/crud/list.html +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/crud/utils.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/crud/views.py.bp +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/.env.template +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/.github/dependabot.yml +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/.github/workflows/ci.yml +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/.gitignore +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/.pre-commit-config.yaml +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/README.md +0 -0
- {falco_cli-0.2.0/src/falco_blueprints/project_name/deploy → falco_cli-0.2.2/src/falco_blueprints/project_name/config}/__init__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/config/asgi.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/config/urls.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/config/wsgi.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/deploy/Dockerfile +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/deploy/entrypoint.sh +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/deploy/gunicorn.conf.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/manage.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/playground.ipynb +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/project_name/__init__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/project_name/core/__init__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/project_name/core/apps.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/project_name/static/vendors/htmx/htmx.min.js +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/project_name/templates/home.html +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/project_name/users/__init__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/project_name/users/admin.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/project_name/users/apps.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/project_name/users/migrations/0001_initial.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/project_name/users/migrations/__init__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/project_name/users/models.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/pyproject.toml +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/tests/__init__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/src/falco_blueprints/project_name/tests/test_assert_true.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/tests/__init__.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/tests/commands/test_crud.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/tests/commands/test_htmx.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/tests/commands/test_htmx_extension.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/tests/commands/test_install_crud_utils.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/tests/commands/test_make_superuser.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/tests/commands/test_reset_migrations.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/tests/commands/test_rm_migrations.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/tests/commands/test_start_project.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/tests/commands/test_sync_dotenv.py +0 -0
- {falco_cli-0.2.0 → falco_cli-0.2.2}/tests/conftest.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: falco-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: Enhance your Django developer experience: CLI and Guides for the Modern Developer.
|
|
5
5
|
Project-URL: Homepage, https://falco.oluwatobi.dev/
|
|
6
6
|
Project-URL: Documentation, https://falco.oluwatobi.dev/
|
|
@@ -36,13 +36,13 @@ INSTALLED_APPS = [
|
|
|
36
36
|
"django.contrib.sessions",
|
|
37
37
|
"django.contrib.messages",
|
|
38
38
|
"django.contrib.staticfiles",
|
|
39
|
-
"core",
|
|
40
|
-
"products",
|
|
41
|
-
"orders",
|
|
42
39
|
"crispy_forms",
|
|
43
40
|
"crispy_tailwind",
|
|
44
41
|
"template_partials",
|
|
45
42
|
"django_htmx",
|
|
43
|
+
"demo.core",
|
|
44
|
+
"demo.products",
|
|
45
|
+
"demo.orders",
|
|
46
46
|
]
|
|
47
47
|
|
|
48
48
|
MIDDLEWARE = [
|
|
@@ -56,7 +56,7 @@ MIDDLEWARE = [
|
|
|
56
56
|
"django_htmx.middleware.HtmxMiddleware",
|
|
57
57
|
]
|
|
58
58
|
|
|
59
|
-
ROOT_URLCONF = "
|
|
59
|
+
ROOT_URLCONF = "config.urls"
|
|
60
60
|
|
|
61
61
|
TEMPLATES = [
|
|
62
62
|
{
|
|
@@ -74,7 +74,7 @@ TEMPLATES = [
|
|
|
74
74
|
},
|
|
75
75
|
]
|
|
76
76
|
|
|
77
|
-
WSGI_APPLICATION = "
|
|
77
|
+
WSGI_APPLICATION = "config.wsgi.application"
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
# Database
|
|
@@ -7,6 +7,6 @@ from django.views.generic.base import RedirectView
|
|
|
7
7
|
urlpatterns = [
|
|
8
8
|
path("admin/", admin.site.urls),
|
|
9
9
|
path("", RedirectView.as_view(url=reverse_lazy("products:product_list"))),
|
|
10
|
-
path("products/", include("products.urls", namespace="products")),
|
|
11
|
-
# path("orders/", include("orders.urls", namespace="orders")),
|
|
10
|
+
path("products/", include("demo.products.urls", namespace="products")),
|
|
11
|
+
# path("orders/", include("demo.orders.urls", namespace="orders")),
|
|
12
12
|
]
|
|
@@ -6,7 +6,7 @@ import sys
|
|
|
6
6
|
|
|
7
7
|
def main():
|
|
8
8
|
"""Run administrative tasks."""
|
|
9
|
-
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "
|
|
9
|
+
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
|
|
10
10
|
try:
|
|
11
11
|
from django.core.management import execute_from_command_line
|
|
12
12
|
except ImportError as exc:
|
|
@@ -18,6 +18,13 @@ Local email testing
|
|
|
18
18
|
|
|
19
19
|
https://github.com/axllent/mailpit
|
|
20
20
|
|
|
21
|
+
.. code-block::
|
|
22
|
+
:captions: settings.py
|
|
23
|
+
|
|
24
|
+
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend",
|
|
25
|
+
EMAIL_HOST = "localhost"
|
|
26
|
+
EMAIL_PORT = 1025
|
|
27
|
+
|
|
21
28
|
|
|
22
29
|
Lifecycle not signals
|
|
23
30
|
---------------------
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
<svg class="rich-terminal" viewBox="0 0 994 977.1999999999999" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<!-- Generated with Rich https://www.textualize.io -->
|
|
3
|
+
<style>
|
|
4
|
+
|
|
5
|
+
@font-face {
|
|
6
|
+
font-family: "Fira Code";
|
|
7
|
+
src: local("FiraCode-Regular"),
|
|
8
|
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
|
9
|
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
|
10
|
+
font-style: normal;
|
|
11
|
+
font-weight: 400;
|
|
12
|
+
}
|
|
13
|
+
@font-face {
|
|
14
|
+
font-family: "Fira Code";
|
|
15
|
+
src: local("FiraCode-Bold"),
|
|
16
|
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
|
17
|
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
|
18
|
+
font-style: bold;
|
|
19
|
+
font-weight: 700;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.terminal-4175178640-matrix {
|
|
23
|
+
font-family: Fira Code, monospace;
|
|
24
|
+
font-size: 20px;
|
|
25
|
+
line-height: 24.4px;
|
|
26
|
+
font-variant-east-asian: full-width;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.terminal-4175178640-title {
|
|
30
|
+
font-size: 18px;
|
|
31
|
+
font-weight: bold;
|
|
32
|
+
font-family: arial;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.terminal-4175178640-r1 { fill: #d9d9d9 }
|
|
36
|
+
</style>
|
|
37
|
+
|
|
38
|
+
<defs>
|
|
39
|
+
<clipPath id="terminal-4175178640-clip-terminal">
|
|
40
|
+
<rect x="0" y="0" width="975.0" height="926.1999999999999" />
|
|
41
|
+
</clipPath>
|
|
42
|
+
<clipPath id="terminal-4175178640-line-0">
|
|
43
|
+
<rect x="0" y="1.5" width="976" height="24.65"/>
|
|
44
|
+
</clipPath>
|
|
45
|
+
<clipPath id="terminal-4175178640-line-1">
|
|
46
|
+
<rect x="0" y="25.9" width="976" height="24.65"/>
|
|
47
|
+
</clipPath>
|
|
48
|
+
<clipPath id="terminal-4175178640-line-2">
|
|
49
|
+
<rect x="0" y="50.3" width="976" height="24.65"/>
|
|
50
|
+
</clipPath>
|
|
51
|
+
<clipPath id="terminal-4175178640-line-3">
|
|
52
|
+
<rect x="0" y="74.7" width="976" height="24.65"/>
|
|
53
|
+
</clipPath>
|
|
54
|
+
<clipPath id="terminal-4175178640-line-4">
|
|
55
|
+
<rect x="0" y="99.1" width="976" height="24.65"/>
|
|
56
|
+
</clipPath>
|
|
57
|
+
<clipPath id="terminal-4175178640-line-5">
|
|
58
|
+
<rect x="0" y="123.5" width="976" height="24.65"/>
|
|
59
|
+
</clipPath>
|
|
60
|
+
<clipPath id="terminal-4175178640-line-6">
|
|
61
|
+
<rect x="0" y="147.9" width="976" height="24.65"/>
|
|
62
|
+
</clipPath>
|
|
63
|
+
<clipPath id="terminal-4175178640-line-7">
|
|
64
|
+
<rect x="0" y="172.3" width="976" height="24.65"/>
|
|
65
|
+
</clipPath>
|
|
66
|
+
<clipPath id="terminal-4175178640-line-8">
|
|
67
|
+
<rect x="0" y="196.7" width="976" height="24.65"/>
|
|
68
|
+
</clipPath>
|
|
69
|
+
<clipPath id="terminal-4175178640-line-9">
|
|
70
|
+
<rect x="0" y="221.1" width="976" height="24.65"/>
|
|
71
|
+
</clipPath>
|
|
72
|
+
<clipPath id="terminal-4175178640-line-10">
|
|
73
|
+
<rect x="0" y="245.5" width="976" height="24.65"/>
|
|
74
|
+
</clipPath>
|
|
75
|
+
<clipPath id="terminal-4175178640-line-11">
|
|
76
|
+
<rect x="0" y="269.9" width="976" height="24.65"/>
|
|
77
|
+
</clipPath>
|
|
78
|
+
<clipPath id="terminal-4175178640-line-12">
|
|
79
|
+
<rect x="0" y="294.3" width="976" height="24.65"/>
|
|
80
|
+
</clipPath>
|
|
81
|
+
<clipPath id="terminal-4175178640-line-13">
|
|
82
|
+
<rect x="0" y="318.7" width="976" height="24.65"/>
|
|
83
|
+
</clipPath>
|
|
84
|
+
<clipPath id="terminal-4175178640-line-14">
|
|
85
|
+
<rect x="0" y="343.1" width="976" height="24.65"/>
|
|
86
|
+
</clipPath>
|
|
87
|
+
<clipPath id="terminal-4175178640-line-15">
|
|
88
|
+
<rect x="0" y="367.5" width="976" height="24.65"/>
|
|
89
|
+
</clipPath>
|
|
90
|
+
<clipPath id="terminal-4175178640-line-16">
|
|
91
|
+
<rect x="0" y="391.9" width="976" height="24.65"/>
|
|
92
|
+
</clipPath>
|
|
93
|
+
<clipPath id="terminal-4175178640-line-17">
|
|
94
|
+
<rect x="0" y="416.3" width="976" height="24.65"/>
|
|
95
|
+
</clipPath>
|
|
96
|
+
<clipPath id="terminal-4175178640-line-18">
|
|
97
|
+
<rect x="0" y="440.7" width="976" height="24.65"/>
|
|
98
|
+
</clipPath>
|
|
99
|
+
<clipPath id="terminal-4175178640-line-19">
|
|
100
|
+
<rect x="0" y="465.1" width="976" height="24.65"/>
|
|
101
|
+
</clipPath>
|
|
102
|
+
<clipPath id="terminal-4175178640-line-20">
|
|
103
|
+
<rect x="0" y="489.5" width="976" height="24.65"/>
|
|
104
|
+
</clipPath>
|
|
105
|
+
<clipPath id="terminal-4175178640-line-21">
|
|
106
|
+
<rect x="0" y="513.9" width="976" height="24.65"/>
|
|
107
|
+
</clipPath>
|
|
108
|
+
<clipPath id="terminal-4175178640-line-22">
|
|
109
|
+
<rect x="0" y="538.3" width="976" height="24.65"/>
|
|
110
|
+
</clipPath>
|
|
111
|
+
<clipPath id="terminal-4175178640-line-23">
|
|
112
|
+
<rect x="0" y="562.7" width="976" height="24.65"/>
|
|
113
|
+
</clipPath>
|
|
114
|
+
<clipPath id="terminal-4175178640-line-24">
|
|
115
|
+
<rect x="0" y="587.1" width="976" height="24.65"/>
|
|
116
|
+
</clipPath>
|
|
117
|
+
<clipPath id="terminal-4175178640-line-25">
|
|
118
|
+
<rect x="0" y="611.5" width="976" height="24.65"/>
|
|
119
|
+
</clipPath>
|
|
120
|
+
<clipPath id="terminal-4175178640-line-26">
|
|
121
|
+
<rect x="0" y="635.9" width="976" height="24.65"/>
|
|
122
|
+
</clipPath>
|
|
123
|
+
<clipPath id="terminal-4175178640-line-27">
|
|
124
|
+
<rect x="0" y="660.3" width="976" height="24.65"/>
|
|
125
|
+
</clipPath>
|
|
126
|
+
<clipPath id="terminal-4175178640-line-28">
|
|
127
|
+
<rect x="0" y="684.7" width="976" height="24.65"/>
|
|
128
|
+
</clipPath>
|
|
129
|
+
<clipPath id="terminal-4175178640-line-29">
|
|
130
|
+
<rect x="0" y="709.1" width="976" height="24.65"/>
|
|
131
|
+
</clipPath>
|
|
132
|
+
<clipPath id="terminal-4175178640-line-30">
|
|
133
|
+
<rect x="0" y="733.5" width="976" height="24.65"/>
|
|
134
|
+
</clipPath>
|
|
135
|
+
<clipPath id="terminal-4175178640-line-31">
|
|
136
|
+
<rect x="0" y="757.9" width="976" height="24.65"/>
|
|
137
|
+
</clipPath>
|
|
138
|
+
<clipPath id="terminal-4175178640-line-32">
|
|
139
|
+
<rect x="0" y="782.3" width="976" height="24.65"/>
|
|
140
|
+
</clipPath>
|
|
141
|
+
<clipPath id="terminal-4175178640-line-33">
|
|
142
|
+
<rect x="0" y="806.7" width="976" height="24.65"/>
|
|
143
|
+
</clipPath>
|
|
144
|
+
<clipPath id="terminal-4175178640-line-34">
|
|
145
|
+
<rect x="0" y="831.1" width="976" height="24.65"/>
|
|
146
|
+
</clipPath>
|
|
147
|
+
<clipPath id="terminal-4175178640-line-35">
|
|
148
|
+
<rect x="0" y="855.5" width="976" height="24.65"/>
|
|
149
|
+
</clipPath>
|
|
150
|
+
<clipPath id="terminal-4175178640-line-36">
|
|
151
|
+
<rect x="0" y="879.9" width="976" height="24.65"/>
|
|
152
|
+
</clipPath>
|
|
153
|
+
</defs>
|
|
154
|
+
|
|
155
|
+
<rect fill="#0c0c0c" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="975.2" rx="8"/>
|
|
156
|
+
<g transform="translate(26,22)">
|
|
157
|
+
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
|
158
|
+
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
|
159
|
+
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
|
160
|
+
</g>
|
|
161
|
+
|
|
162
|
+
<g transform="translate(9, 41)" clip-path="url(#terminal-4175178640-clip-terminal)">
|
|
163
|
+
|
|
164
|
+
<g class="terminal-4175178640-matrix">
|
|
165
|
+
<text class="terminal-4175178640-r1" x="0" y="20" textLength="549" clip-path="url(#terminal-4175178640-line-0)">$ tree -L 3 src/falco_blueprints/project_name</text><text class="terminal-4175178640-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-4175178640-line-0)">
|
|
166
|
+
</text><text class="terminal-4175178640-r1" x="0" y="44.4" textLength="402.6" clip-path="url(#terminal-4175178640-line-1)">src/falco_blueprints/project_name</text><text class="terminal-4175178640-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-4175178640-line-1)">
|
|
167
|
+
</text><text class="terminal-4175178640-r1" x="0" y="68.8" textLength="122" clip-path="url(#terminal-4175178640-line-2)">├── config</text><text class="terminal-4175178640-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-4175178640-line-2)">
|
|
168
|
+
</text><text class="terminal-4175178640-r1" x="0" y="93.2" textLength="183" clip-path="url(#terminal-4175178640-line-3)">│  ├── asgi.py</text><text class="terminal-4175178640-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-4175178640-line-3)">
|
|
169
|
+
</text><text class="terminal-4175178640-r1" x="0" y="117.6" textLength="231.8" clip-path="url(#terminal-4175178640-line-4)">│  ├── __init__.py</text><text class="terminal-4175178640-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-4175178640-line-4)">
|
|
170
|
+
</text><text class="terminal-4175178640-r1" x="0" y="142" textLength="231.8" clip-path="url(#terminal-4175178640-line-5)">│  ├── settings.py</text><text class="terminal-4175178640-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-4175178640-line-5)">
|
|
171
|
+
</text><text class="terminal-4175178640-r1" x="0" y="166.4" textLength="183" clip-path="url(#terminal-4175178640-line-6)">│  ├── urls.py</text><text class="terminal-4175178640-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-4175178640-line-6)">
|
|
172
|
+
</text><text class="terminal-4175178640-r1" x="0" y="190.8" textLength="183" clip-path="url(#terminal-4175178640-line-7)">│  └── wsgi.py</text><text class="terminal-4175178640-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-4175178640-line-7)">
|
|
173
|
+
</text><text class="terminal-4175178640-r1" x="0" y="215.2" textLength="122" clip-path="url(#terminal-4175178640-line-8)">├── deploy</text><text class="terminal-4175178640-r1" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-4175178640-line-8)">
|
|
174
|
+
</text><text class="terminal-4175178640-r1" x="0" y="239.6" textLength="219.6" clip-path="url(#terminal-4175178640-line-9)">│  ├── Dockerfile</text><text class="terminal-4175178640-r1" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-4175178640-line-9)">
|
|
175
|
+
</text><text class="terminal-4175178640-r1" x="0" y="264" textLength="256.2" clip-path="url(#terminal-4175178640-line-10)">│  ├── entrypoint.sh</text><text class="terminal-4175178640-r1" x="976" y="264" textLength="12.2" clip-path="url(#terminal-4175178640-line-10)">
|
|
176
|
+
</text><text class="terminal-4175178640-r1" x="0" y="288.4" textLength="292.8" clip-path="url(#terminal-4175178640-line-11)">│  └── gunicorn.conf.py</text><text class="terminal-4175178640-r1" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-4175178640-line-11)">
|
|
177
|
+
</text><text class="terminal-4175178640-r1" x="0" y="312.8" textLength="158.6" clip-path="url(#terminal-4175178640-line-12)">├── manage.py</text><text class="terminal-4175178640-r1" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-4175178640-line-12)">
|
|
178
|
+
</text><text class="terminal-4175178640-r1" x="0" y="337.2" textLength="244" clip-path="url(#terminal-4175178640-line-13)">├── playground.ipynb</text><text class="terminal-4175178640-r1" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-4175178640-line-13)">
|
|
179
|
+
</text><text class="terminal-4175178640-r1" x="0" y="361.6" textLength="195.2" clip-path="url(#terminal-4175178640-line-14)">├── project_name</text><text class="terminal-4175178640-r1" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-4175178640-line-14)">
|
|
180
|
+
</text><text class="terminal-4175178640-r1" x="0" y="386" textLength="146.4" clip-path="url(#terminal-4175178640-line-15)">│  ├── core</text><text class="terminal-4175178640-r1" x="976" y="386" textLength="12.2" clip-path="url(#terminal-4175178640-line-15)">
|
|
181
|
+
</text><text class="terminal-4175178640-r1" x="0" y="410.4" textLength="231.8" clip-path="url(#terminal-4175178640-line-16)">│  │  ├── apps.py</text><text class="terminal-4175178640-r1" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-4175178640-line-16)">
|
|
182
|
+
</text><text class="terminal-4175178640-r1" x="0" y="434.8" textLength="280.6" clip-path="url(#terminal-4175178640-line-17)">│  │  └── __init__.py</text><text class="terminal-4175178640-r1" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-4175178640-line-17)">
|
|
183
|
+
</text><text class="terminal-4175178640-r1" x="0" y="459.2" textLength="231.8" clip-path="url(#terminal-4175178640-line-18)">│  ├── __init__.py</text><text class="terminal-4175178640-r1" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-4175178640-line-18)">
|
|
184
|
+
</text><text class="terminal-4175178640-r1" x="0" y="483.6" textLength="170.8" clip-path="url(#terminal-4175178640-line-19)">│  ├── static</text><text class="terminal-4175178640-r1" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-4175178640-line-19)">
|
|
185
|
+
</text><text class="terminal-4175178640-r1" x="0" y="508" textLength="231.8" clip-path="url(#terminal-4175178640-line-20)">│  │  └── vendors</text><text class="terminal-4175178640-r1" x="976" y="508" textLength="12.2" clip-path="url(#terminal-4175178640-line-20)">
|
|
186
|
+
</text><text class="terminal-4175178640-r1" x="0" y="532.4" textLength="207.4" clip-path="url(#terminal-4175178640-line-21)">│  ├── templates</text><text class="terminal-4175178640-r1" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-4175178640-line-21)">
|
|
187
|
+
</text><text class="terminal-4175178640-r1" x="0" y="556.8" textLength="256.2" clip-path="url(#terminal-4175178640-line-22)">│  │  ├── base.html</text><text class="terminal-4175178640-r1" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-4175178640-line-22)">
|
|
188
|
+
</text><text class="terminal-4175178640-r1" x="0" y="581.2" textLength="256.2" clip-path="url(#terminal-4175178640-line-23)">│  │  └── home.html</text><text class="terminal-4175178640-r1" x="976" y="581.2" textLength="12.2" clip-path="url(#terminal-4175178640-line-23)">
|
|
189
|
+
</text><text class="terminal-4175178640-r1" x="0" y="605.6" textLength="158.6" clip-path="url(#terminal-4175178640-line-24)">│  └── users</text><text class="terminal-4175178640-r1" x="976" y="605.6" textLength="12.2" clip-path="url(#terminal-4175178640-line-24)">
|
|
190
|
+
</text><text class="terminal-4175178640-r1" x="0" y="630" textLength="244" clip-path="url(#terminal-4175178640-line-25)">│      ├── admin.py</text><text class="terminal-4175178640-r1" x="976" y="630" textLength="12.2" clip-path="url(#terminal-4175178640-line-25)">
|
|
191
|
+
</text><text class="terminal-4175178640-r1" x="0" y="654.4" textLength="231.8" clip-path="url(#terminal-4175178640-line-26)">│      ├── apps.py</text><text class="terminal-4175178640-r1" x="976" y="654.4" textLength="12.2" clip-path="url(#terminal-4175178640-line-26)">
|
|
192
|
+
</text><text class="terminal-4175178640-r1" x="0" y="678.8" textLength="244" clip-path="url(#terminal-4175178640-line-27)">│      ├── forms.py</text><text class="terminal-4175178640-r1" x="976" y="678.8" textLength="12.2" clip-path="url(#terminal-4175178640-line-27)">
|
|
193
|
+
</text><text class="terminal-4175178640-r1" x="0" y="703.2" textLength="280.6" clip-path="url(#terminal-4175178640-line-28)">│      ├── __init__.py</text><text class="terminal-4175178640-r1" x="976" y="703.2" textLength="12.2" clip-path="url(#terminal-4175178640-line-28)">
|
|
194
|
+
</text><text class="terminal-4175178640-r1" x="0" y="727.6" textLength="268.4" clip-path="url(#terminal-4175178640-line-29)">│      ├── migrations</text><text class="terminal-4175178640-r1" x="976" y="727.6" textLength="12.2" clip-path="url(#terminal-4175178640-line-29)">
|
|
195
|
+
</text><text class="terminal-4175178640-r1" x="0" y="752" textLength="256.2" clip-path="url(#terminal-4175178640-line-30)">│      └── models.py</text><text class="terminal-4175178640-r1" x="976" y="752" textLength="12.2" clip-path="url(#terminal-4175178640-line-30)">
|
|
196
|
+
</text><text class="terminal-4175178640-r1" x="0" y="776.4" textLength="219.6" clip-path="url(#terminal-4175178640-line-31)">├── pyproject.toml</text><text class="terminal-4175178640-r1" x="976" y="776.4" textLength="12.2" clip-path="url(#terminal-4175178640-line-31)">
|
|
197
|
+
</text><text class="terminal-4175178640-r1" x="0" y="800.8" textLength="158.6" clip-path="url(#terminal-4175178640-line-32)">├── README.md</text><text class="terminal-4175178640-r1" x="976" y="800.8" textLength="12.2" clip-path="url(#terminal-4175178640-line-32)">
|
|
198
|
+
</text><text class="terminal-4175178640-r1" x="0" y="825.2" textLength="109.8" clip-path="url(#terminal-4175178640-line-33)">└── tests</text><text class="terminal-4175178640-r1" x="976" y="825.2" textLength="12.2" clip-path="url(#terminal-4175178640-line-33)">
|
|
199
|
+
</text><text class="terminal-4175178640-r1" x="0" y="849.6" textLength="231.8" clip-path="url(#terminal-4175178640-line-34)">    ├── __init__.py</text><text class="terminal-4175178640-r1" x="976" y="849.6" textLength="12.2" clip-path="url(#terminal-4175178640-line-34)">
|
|
200
|
+
</text><text class="terminal-4175178640-r1" x="0" y="874" textLength="329.4" clip-path="url(#terminal-4175178640-line-35)">    └── test_assert_true.py</text><text class="terminal-4175178640-r1" x="976" y="874" textLength="12.2" clip-path="url(#terminal-4175178640-line-35)">
|
|
201
|
+
</text><text class="terminal-4175178640-r1" x="976" y="898.4" textLength="12.2" clip-path="url(#terminal-4175178640-line-36)">
|
|
202
|
+
</text><text class="terminal-4175178640-r1" x="0" y="922.8" textLength="292.8" clip-path="url(#terminal-4175178640-line-37)">11 directories, 24 files</text><text class="terminal-4175178640-r1" x="976" y="922.8" textLength="12.2" clip-path="url(#terminal-4175178640-line-37)">
|
|
203
|
+
</text>
|
|
204
|
+
</g>
|
|
205
|
+
</g>
|
|
206
|
+
</svg>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
2
|
|
|
3
3
|
root_dir = Path(__file__).parent.parent
|
|
4
|
-
|
|
5
|
-
products_app_dir =
|
|
4
|
+
demo_apps_dir = root_dir / "demo/demo"
|
|
5
|
+
products_app_dir = demo_apps_dir / "products"
|
|
6
6
|
falco_crud_blueprints_dir = root_dir / "src" / "falco_blueprints" / "crud"
|
|
7
7
|
|
|
8
8
|
python_blueprints = ("views.py", "forms.py")
|
|
@@ -32,7 +32,7 @@ def copy_python_files():
|
|
|
32
32
|
# copy crud utils file
|
|
33
33
|
utils_file = falco_crud_blueprints_dir / "utils.py"
|
|
34
34
|
utils_file.touch(exist_ok=True)
|
|
35
|
-
utils_file.write_text((
|
|
35
|
+
utils_file.write_text((demo_apps_dir / "core/utils.py").read_text())
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
def copy_html_files():
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
<section class="flex justify-between">
|
|
7
7
|
{% endverbatim %}
|
|
8
|
-
<h1 class="text-lg font-bold">{{ model_name}} - {
|
|
8
|
+
<h1 class="text-lg font-bold">{{ model_name}} - {{ "{"|add:"{" }} {{ model_name|lower }} {{ "}"|add:"}" }} </h1>
|
|
9
9
|
|
|
10
10
|
<a href="{{list_view_url|safe}}" class="text-blue-600 hover:underline hover:text-blue-500">
|
|
11
11
|
All {{model_verbose_name_plural|capfirst}}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
<section class="flex justify-between">
|
|
8
8
|
{% endverbatim %}
|
|
9
|
-
<h1 class="text-lg font-bold py-4"> {{ model_name}} Update - {
|
|
9
|
+
<h1 class="text-lg font-bold py-4"> {{ model_name}} Update - {{ "{"|add:"{" }} {{ model_name|lower }} {{ "}"|add:"}" }}</h1>
|
|
10
10
|
|
|
11
11
|
<a href="{{list_view_url|safe}}" class="text-blue-600 hover:underline hover:text-blue-500">
|
|
12
12
|
All {{model_verbose_name_plural|capfirst}}
|
|
@@ -128,8 +128,12 @@ ACCOUNT_USERNAME_REQUIRED = False
|
|
|
128
128
|
ACCOUNT_AUTHENTICATION_METHOD = "email"
|
|
129
129
|
ACCOUNT_EMAIL_REQUIRED = True
|
|
130
130
|
ACCOUNT_EMAIL_VERIFICATION = "optional"
|
|
131
|
+
ACCOUNT_FORMS = {"signup": "{{ project_name }}.users.forms.UserSignupForm"}
|
|
131
132
|
|
|
132
|
-
EMAIL_BACKEND = env
|
|
133
|
+
EMAIL_BACKEND = env(
|
|
134
|
+
"DJANGO_EMAIL_BACKEND",
|
|
135
|
+
default="django.core.mail.backends.console.EmailBackend",
|
|
136
|
+
)
|
|
133
137
|
|
|
134
138
|
CRISPY_ALLOWED_TEMPLATE_PACKS = "tailwind"
|
|
135
139
|
CRISPY_TEMPLATE_PACK = "tailwind"
|
|
@@ -10,13 +10,15 @@
|
|
|
10
10
|
<meta name="description" content="">
|
|
11
11
|
<meta name="keywords" content="">
|
|
12
12
|
{% endverbatim %}<title>{{ project_name }}</title>{% verbatim %}
|
|
13
|
-
<script defer src="{% static "vendors/htmx/htmx.min.js" %}"></script>
|
|
14
13
|
{% tailwind_css %}
|
|
14
|
+
<script defer src="{% static "vendors/htmx/htmx.min.js" %}"></script>
|
|
15
15
|
{% django_htmx_script %}
|
|
16
|
+
{% block extra_head %}{% endblock extra_head %}
|
|
16
17
|
</head>
|
|
17
18
|
<body hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'>
|
|
18
19
|
{% block content %}
|
|
19
20
|
{% endblock content %}
|
|
21
|
+
{% block extra_body %}{% endblock extra_body %}
|
|
20
22
|
</body>
|
|
21
23
|
</html>
|
|
22
24
|
{% endverbatim %}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from allauth.account.forms import SignupForm
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class UserSignupForm(SignupForm):
|
|
5
|
+
"""
|
|
6
|
+
Form that will be rendered on a user sign up section/screen.
|
|
7
|
+
Default fields will be added automatically.
|
|
8
|
+
Check UserSocialSignupForm for accounts created from social.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
# This prevent django-fastdev from raising an error when accessing the signup page
|
|
12
|
+
clean_username = None
|