Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/unistra/django-drybones
A project template for django
https://github.com/unistra/django-drybones
Last synced: 10 days ago
JSON representation
A project template for django
- Host: GitHub
- URL: https://github.com/unistra/django-drybones
- Owner: unistra
- Created: 2014-10-30T17:18:32.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-01-08T13:24:05.000Z (10 months ago)
- Last Synced: 2024-04-16T02:00:01.866Z (7 months ago)
- Language: Python
- Size: 105 KB
- Stars: 7
- Watchers: 20
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
Awesome Lists containing this project
README
========================
Django-drybones
========================Template pour les projets Django 4.2.
Prérequis
===================
pip, virtualenv et virtualenvwrapper doivent être installés.Procédure
===================
Pour générer un template pour le projet "**myapp**" :Création de l'environnement virtuel
-----------------------------------Pour créer l'environnement virtuel, se placer dans le répertoire d'installation du projet::
$ mkvirtualenv myapp
Installation de Django
----------------------Pour installer Django dans l'environnement virtuel::
$ pip install "Django>=4.2,<5"
Création du projet
-------------------Pour créer le nouveau projet en utilisant le template de la dernière version de django supportée::
$ django-admin startproject --template=https://github.com/unistra/django-drybones/archive/master.zip --extension=html,rst,ini,coveragerc --name=Makefile myapp
Pour une version spécifique::
$ django-admin startproject --template=https://github.com/unistra/django-drybones/archive/refs/heads/django3.2.zip --extension=html,rst,ini,coveragerc --name=Makefile myapp
Configuration du projet
-----------------------Pour configurer le projet dans l'environnement virtuel::
$ cd myapp
$ setvirtualenvproject $VIRTUAL_ENV $(pwd)# Edition du fichier postactivate
$ echo "export DJANGO_SETTINGS_MODULE=myapp.settings.dev" >> $VIRTUAL_ENV/bin/postactivate# Edition du fichier postdeactivate
$ echo "unset DJANGO_SETTINGS_MODULE" >> $VIRTUAL_ENV/bin/postdeactivate# Rechargement de l'environnement virtuel
$ workon myappInstallation des librairies
---------------------------Pour installer les librairies ::
$ cdproject
$ pip install -r requirements/dev.txtLancer le serveur de développement
----------------------------------Pour finaliser l'installation et lancer le serveur::
$ chmod u+x manage.py
$ ./manage.py migrate
$ ./manage.py runserverGoodies
-------Vous pouvez ajouter une fonction à vos dotfiles pour faciliter la création d'un projet::
# inits project for django-drybone project
# see https://github.com/unistra/django-drybones
# Usage initproject project_name [-p python_version] [-d django_version]
# example initproject -p 3.11 -d 4.2
function initproject () {
unset PYTHON_VERSION
unset DJANGO_VERSION
declare -g PYTHON_VERSION
declare -g PYTHON_PATH=
declare -g PYTHON_VERSION_PATH
local ARGS
test -z "$1" && {
echo -e "Missing argument. Script usage:\n" " initproject project_name [-p python_version] [-d django_version]" "\n example : initproject -p 3.11 -d 3.2 "
return 1
} || PROJECT_NAME=$1
ARGS=$(getopt --long -o "p:d:" "$@")
eval set -- "$ARGS"
while true
do
case "$1" in
(-p) PYTHON_VERSION=$2
shift 2 ;;
(-d) DJANGO_VERSION=$2
shift 2 ;;
(*) break ;;
esac
done
PYTHON_VERSION=${PYTHON_VERSION:=3.10}
DJANGO_VERSION=${DJANGO_VERSION:=4.2}
PYTHON_VERSION_PATH=$( which python$PYTHON_VERSION )
mkvirtualenv "$PROJECT_NAME" -p "$PYTHON_VERSION_PATH" >&2 || {
echo "Virtualenv creation failed" >&2
return 1
}
workon "$PROJECT_NAME"
pip install "Django==$DJANGO_VERSION" || {
echo "Django installation failed" >&2
return 1
}
django-admin startproject --template="https://github.com/unistra/django-drybones/archive/refs/heads/django$DJANGO_VERSION.zip" --extension=html,rst,ini,coveragerc --name=Makefile "$PROJECT_NAME" >&2 || {
echo "Project creation failed (maybe wrong django version)" >&2
return 1
}
cd "$PROJECT_NAME" || {
echo "No app directory" >&2
return 1
}
setvirtualenvproject "$VIRTUAL_ENV" "$PWD"
echo "export DJANGO_SETTINGS_MODULE=$PROJECT_NAME.settings.dev" >> "$VIRTUAL_ENV/bin/postactivate"
echo "unset DJANGO_SETTINGS_MODULE" >> "$VIRTUAL_ENV/bin/postdeactivate"
workon "$PROJECT_NAME"
chmod +x manage.py
pip install -r requirements/dev.txt
}Et ensuite pour creer le virtualenv, installer django et initialiser le projet::
$ initproject mon_projet
pour preciser la version de python et/ou de django -p pour la version de python et -d pour la version de django::
$ initproject mon_projet -p 3.12 -d 4.2