added script to automatically create new routes
This commit is contained in:
parent
cc0e91ffc6
commit
3e00ac64f5
|
@ -0,0 +1,53 @@
|
|||
#!/bin/bash
|
||||
PWD_=$PWD
|
||||
BASE='route_template'
|
||||
NAME=$1
|
||||
NAME_UPPERFIRST=$(echo "$NAME"|sed 's/^./\U&/')
|
||||
|
||||
PROJ='gpp'
|
||||
APP='port'
|
||||
|
||||
|
||||
rm -rf "$BASE.tmp"
|
||||
cp -r $BASE $BASE.tmp
|
||||
cd "$BASE.tmp"
|
||||
|
||||
# update template with last routes
|
||||
cp $PWD_/$PROJ/urls.py ./proj/urls.py
|
||||
cp $PWD_/$APP/views.py ./proj/views.py
|
||||
|
||||
# rename template dir names according to
|
||||
# current projet
|
||||
mv ./proj $PROJ
|
||||
mv ./app $APP
|
||||
|
||||
# PROJ
|
||||
SEDCMD="s/# NEW_ROUTE/"
|
||||
SEDCMD=$SEDCMD"path('$NAME\/',"
|
||||
SEDCMD=$SEDCMD"include('$APP.urls.$NAME',"
|
||||
SEDCMD=$SEDCMD"namespace='$NAME')),/"
|
||||
sed -i "$SEDCMD" ./$PROJ/urls.py
|
||||
|
||||
#APP
|
||||
cd $APP
|
||||
SEDCMD="s/#NAME#/$NAME/g;"
|
||||
SEDCMD=$SEDCMD"s/#NAME_UPPERFIRST#/$NAME_UPPERFIRST/g"
|
||||
|
||||
## URLS
|
||||
sed -i "$SEDCMD" ./urls/new.py
|
||||
mv urls/new.py urls/$NAME.py
|
||||
|
||||
## VIEWS
|
||||
sed -i "$SEDCMD" ./views/new.py
|
||||
mv views/new.py views/$NAME.py
|
||||
|
||||
## TEMPLATES
|
||||
for FILE in ./templates/new/*
|
||||
do
|
||||
sed -i $SEDCMD $FILE;
|
||||
done
|
||||
mv ./templates/new ./templates/$NAME
|
||||
|
||||
sed -i "$SEDCMD" ./urls/$NAME.py
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,25 @@
|
|||
"""gpp URL Configuration
|
||||
|
||||
The `urlpatterns` list routes URLs to views. For more information please see:
|
||||
https://docs.djangoproject.com/en/2.2/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 include, path
|
||||
|
||||
urlpatterns = [
|
||||
#path('', include('port.urls', namespace='index')),
|
||||
path('port/', include('port.urls.port', namespace='port')),
|
||||
path('person/', include('port.urls.person', namespace='person')),
|
||||
path('boat/', include('port.urls.boat', namespace='boat')),
|
||||
path('admin/', admin.site.urls),
|
||||
]
|
|
@ -0,0 +1,32 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<form action="{% url 'person:add' %}" method="post">
|
||||
{% csrf_token %}
|
||||
<!--
|
||||
<label for="name">Name : </label>
|
||||
<input type="text" name="name" id="name"/>
|
||||
<br />
|
||||
<label for="surname">Surname : </label>
|
||||
<input type="text" name="surname" id="surname"/>
|
||||
<br />
|
||||
<label for="nationality">Nationality : </label>
|
||||
<input type="text" name="nationality" id="nationality"/>
|
||||
<br />
|
||||
<label for="nationality">Nationality : </label>
|
||||
<label for="email">e-mail : </label>
|
||||
<input type="text" name="email" id="email"/>
|
||||
<label for="phone">Phone number : </label>
|
||||
<input type="countrycode" value="+33"/>
|
||||
<input type="text" name="phone" id="phone"/>
|
||||
-->
|
||||
<fieldset>
|
||||
<legend>Person</legend>
|
||||
{{ form.person }}
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Address</legend>
|
||||
{{ form.address }}
|
||||
</fieldset>
|
||||
<input type="submit" value="add"/>
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -0,0 +1,8 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<ul>
|
||||
{% for person in persons.all %}
|
||||
<li>{{ person }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
|
@ -0,0 +1,13 @@
|
|||
from django.urls import path
|
||||
|
||||
from ..views.person import *
|
||||
|
||||
app_name = 'person'
|
||||
urlpatterns = [
|
||||
path('', index, name='index'),
|
||||
path('list', list_persons, name='list'),
|
||||
path('form', form_person, name='form'),
|
||||
path('add', add_person, name='add'),
|
||||
|
||||
]
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
from django.shortcuts import render
|
||||
from django.http import HttpResponse
|
||||
|
||||
from pprint import pprint
|
||||
|
||||
from ..models import *
|
||||
from ..forms import *
|
||||
|
||||
def index(request):
|
||||
return HttpResponse("Hello Person")
|
||||
|
||||
def list_persons(request):
|
||||
# TO IMPLEMENT
|
||||
pass
|
||||
|
||||
def form_person(request):
|
||||
# TO IMPLEMENT
|
||||
pass
|
||||
|
||||
def add_person(request):
|
||||
# TO IMPLEMENT
|
||||
pass
|
|
@ -0,0 +1,12 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<form action="{% url '#NAME#:add' %}" method="post">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
<!-- TO IMPLEMENT -->
|
||||
<legend>#NAME_UPPERFIRST#</legend>
|
||||
{{ form.#NAME# }}
|
||||
</fieldset>
|
||||
<input type="submit" value="add"/>
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -0,0 +1,9 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<ul>
|
||||
<!-- TO IMPLEMENT -->
|
||||
{% for #NAME# in #NAME#s.all %}
|
||||
<li>{{ #NAME# }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
|
@ -0,0 +1,13 @@
|
|||
from django.urls import path
|
||||
|
||||
from ..views.#NAME# import *
|
||||
|
||||
app_name = '#NAME#'
|
||||
urlpatterns = [
|
||||
path('', index, name='index'),
|
||||
path('list', list_#NAME#s, name='list'),
|
||||
path('form', form_#NAME#, name='form'),
|
||||
path('add', add_#NAME#, name='add'),
|
||||
|
||||
]
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
from django.shortcuts import render
|
||||
from django.http import HttpResponse
|
||||
|
||||
from pprint import pprint
|
||||
|
||||
from ..models import *
|
||||
from ..forms import *
|
||||
|
||||
def index(request):
|
||||
return HttpResponse("Hello #NAME_UPPERFIRST#")
|
||||
|
||||
def list_#NAME#s(request):
|
||||
# TO IMPLEMENT
|
||||
pass
|
||||
|
||||
def form_#NAME#(request):
|
||||
# TO IMPLEMENT
|
||||
pass
|
||||
|
||||
def add_#NAME#(request):
|
||||
# TO IMPLEMENT
|
||||
pass
|
|
@ -0,0 +1,25 @@
|
|||
"""gpp URL Configuration
|
||||
|
||||
The `urlpatterns` list routes URLs to views. For more information please see:
|
||||
https://docs.djangoproject.com/en/2.2/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 include, path
|
||||
|
||||
urlpatterns = [
|
||||
#path('', include('port.urls', namespace='index')),
|
||||
path('port/', include('port.urls.port', namespace='port')),
|
||||
path('person/', include('port.urls.person', namespace='person')),
|
||||
path('boat/', include('port.urls.boat', namespace='boat')),
|
||||
path('admin/', admin.site.urls),
|
||||
]
|
Loading…
Reference in New Issue