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 <machris...@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 }}" + })