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