You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2023/09/27 18:59:23 UTC
[airavata-cookiecutter-django-app] 01/16: initial commit
This is an automated email from the ASF dual-hosted git repository.
machristie pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airavata-cookiecutter-django-app.git
commit 3f30491240dcc71f22db336473e584e75cc02cb2
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Thu May 27 11:51:28 2021 -0400
initial commit
---
README.md | 0
cookiecutter.json | 10 ++++++++++
{{cookiecutter.project_slug}}/.gitignore | 7 +++++++
{{cookiecutter.project_slug}}/MANIFEST.in | 2 ++
{{cookiecutter.project_slug}}/README.md | 15 +++++++++++++++
{{cookiecutter.project_slug}}/pyproject.toml | 6 ++++++
{{cookiecutter.project_slug}}/setup.cfg | 15 +++++++++++++++
{{cookiecutter.project_slug}}/setup.py | 3 +++
.../{{cookiecutter.project_slug}}/__init__.py | 0
.../{{cookiecutter.project_slug}}/admin.py | 3 +++
.../{{cookiecutter.project_slug}}/apps.py | 7 +++++++
.../{{cookiecutter.project_slug}}/models.py | 3 +++
.../templates/{{cookiecutter.project_slug}}/home.html | 11 +++++++++++
.../{{cookiecutter.project_slug}}/tests.py | 3 +++
.../{{cookiecutter.project_slug}}/urls.py | 9 +++++++++
.../{{cookiecutter.project_slug}}/views.py | 11 +++++++++++
16 files changed, 105 insertions(+)
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/cookiecutter.json b/cookiecutter.json
new file mode 100644
index 0000000..b162761
--- /dev/null
+++ b/cookiecutter.json
@@ -0,0 +1,10 @@
+{
+ "project_name": "My Custom Django App",
+ "project_slug": "{{ cookiecutter.project_name | slugify(separator='_')}}",
+ "project_short_description": "Custom Django app with everything needed to be installed in the airavata-django-portal",
+ "app_config_class_name": "{{ cookiecutter.project_name | title | replace(' ', '') }}",
+ "version": "0.1.0",
+ "_copy_without_render": [
+ "*.html"
+ ]
+}
diff --git a/{{cookiecutter.project_slug}}/.gitignore b/{{cookiecutter.project_slug}}/.gitignore
new file mode 100644
index 0000000..4f6cd5f
--- /dev/null
+++ b/{{cookiecutter.project_slug}}/.gitignore
@@ -0,0 +1,7 @@
+venv
+*.egg-info
+*.pyc
+.vscode
+build
+dist
+*.egg
diff --git a/{{cookiecutter.project_slug}}/MANIFEST.in b/{{cookiecutter.project_slug}}/MANIFEST.in
new file mode 100644
index 0000000..d402524
--- /dev/null
+++ b/{{cookiecutter.project_slug}}/MANIFEST.in
@@ -0,0 +1,2 @@
+recursive-include {{ cookiecutter.project_slug }}/static *
+recursive-include {{ cookiecutter.project_slug }}/templates *
diff --git a/{{cookiecutter.project_slug}}/README.md b/{{cookiecutter.project_slug}}/README.md
new file mode 100644
index 0000000..d82e62a
--- /dev/null
+++ b/{{cookiecutter.project_slug}}/README.md
@@ -0,0 +1,15 @@
+# {{ cookiecutter.project_name }}
+
+## Getting Started
+
+1. Follow the instructions for installing the
+ [Airavata Django Portal](https://github.com/apache/airavata-django-portal)
+2. With the Airavata Django Portal virtual environment activated, clone this
+ repo and install it into the portal's virtual environment
+
+ ```
+ cd {{ cookiecutter.project_slug }}
+ pip install -e .
+ ```
+
+3. Start (or restart) the Django Portal server.
diff --git a/{{cookiecutter.project_slug}}/pyproject.toml b/{{cookiecutter.project_slug}}/pyproject.toml
new file mode 100644
index 0000000..374b58c
--- /dev/null
+++ b/{{cookiecutter.project_slug}}/pyproject.toml
@@ -0,0 +1,6 @@
+[build-system]
+requires = [
+ "setuptools>=42",
+ "wheel"
+]
+build-backend = "setuptools.build_meta"
diff --git a/{{cookiecutter.project_slug}}/setup.cfg b/{{cookiecutter.project_slug}}/setup.cfg
new file mode 100644
index 0000000..cbe2c59
--- /dev/null
+++ b/{{cookiecutter.project_slug}}/setup.cfg
@@ -0,0 +1,15 @@
+[metadata]
+name = {{ cookiecutter.project_slug }}
+version = {{ cookiecutter.version }}
+description = {{ cookiecutter.project_short_description }}
+
+[options]
+packages = find:
+# Include data files as specified in MANIFEST.in
+include_package_data = True
+install_requires =
+ django >= 2.2
+
+[options.entry_points]
+airavata.djangoapp =
+ {{ cookiecutter.project_slug }} = {{ cookiecutter.project_slug }}.apps:{{ cookiecutter.app_config_class_name }}
diff --git a/{{cookiecutter.project_slug}}/setup.py b/{{cookiecutter.project_slug}}/setup.py
new file mode 100644
index 0000000..b908cbe
--- /dev/null
+++ b/{{cookiecutter.project_slug}}/setup.py
@@ -0,0 +1,3 @@
+import setuptools
+
+setuptools.setup()
diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/__init__.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/admin.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/admin.py
new file mode 100644
index 0000000..8c38f3f
--- /dev/null
+++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/admin.py
@@ -0,0 +1,3 @@
+from django.contrib import admin
+
+# Register your models here.
diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/apps.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/apps.py
new file mode 100644
index 0000000..0055edc
--- /dev/null
+++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/apps.py
@@ -0,0 +1,7 @@
+from django.apps import AppConfig
+
+
+class {{ cookiecutter.app_config_class_name }}(AppConfig):
+ name = '{{ cookiecutter.project_slug }}'
+ label = name
+ verbose_name = "{{ cookiecutter.project_name }}"
diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/models.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/models.py
new file mode 100644
index 0000000..71a8362
--- /dev/null
+++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/models.py
@@ -0,0 +1,3 @@
+from django.db import models
+
+# Create your models here.
diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/{{cookiecutter.project_slug}}/home.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/{{cookiecutter.project_slug}}/home.html
new file mode 100644
index 0000000..523a4e0
--- /dev/null
+++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/{{cookiecutter.project_slug}}/home.html
@@ -0,0 +1,11 @@
+{% extends 'base.html' %}
+
+{% block content %}
+<div class="main-content-wrapper">
+ <main class="main-content">
+ <div class="container-fluid">
+ <h1>Welcome to {{ project_name }}</h1>
+ </div>
+ </main>
+</div>
+{% endblock content %}
diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/tests.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/tests.py
new file mode 100644
index 0000000..7ce503c
--- /dev/null
+++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/urls.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/urls.py
new file mode 100644
index 0000000..8bc72c8
--- /dev/null
+++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/urls.py
@@ -0,0 +1,9 @@
+
+from django.urls import path
+
+from . import views
+
+app_name = '{{ cookiecutter.project_slug }}'
+urlpatterns = [
+ path('home/', views.home, name='home'),
+]
diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/views.py
new file mode 100644
index 0000000..45028b8
--- /dev/null
+++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/views.py
@@ -0,0 +1,11 @@
+from django.contrib.auth.decorators import login_required
+from django.http import HttpResponse, HttpResponseNotFound
+from django.shortcuts import render
+
+# Create your views here.
+
+@login_required
+def home(request):
+ return render(request, "{{ cookiecutter.project_slug }}/home.html", {
+ 'project_name': "{{ cookiecutter.project_name }}"
+ })