Created on 01 May 2018 ; Modified on 19 Sep 2018 ; Translation: english
Attenzione. Se si usa Python in versione 3.3 o superiore, virtualenv è incluso nelle sue librerie, nel modulo venv.
Per questo motivo il comando suggerito per installare un nuovo ambiente virtuale è divenuto:
pyhton -m venv venvdove il primo venv richiama il modulo, e il secondo venv è (per convenzione, si può usare un qualunque nome) la directory in cui installare l'interprete Python e le librerie volute.
Una nota su come avviare un progetto Django usando virtualenv.
Creare la directory del progetto, ad esempio git-directory:
$ mkdir git-directory # ancestor of all master directories. will be:
# git-directory/
# |-- .git/
# |-- venv/
# +-- project-name
$ cd git-directory
$ virtualenv venv # create venv directory,
# it contains python, django, other pyth.libs
$ venv\Scripts\activate # activate the project virtual environment
# in MS Windows Op.System. In linux use:
# source venv/bin/activate
$ pip install django # load django libs in venv
$ django-admin.py startproject project-name # create the django project
# (alias: site) directory.
# BEWARE: app(s) will have
# other name(s) then this
Creare il file .gitignore nella git-directory. Deve contenere:
__pycache__ migrations venv *.DS_Store *.lnk *.mo *.pyc *.sqlite3 settings.py secretkey.txt
Inizializzare il repository git:
$ git init $ git add -A $ git commit -am "initial commit"
Crare il DB del progetto Django e il supeuser, controllare che il progetto si avvi, salvarlo nel repository git:
$ cd project-name $ python manage.py migrate $ python manage.py createsuperuser ... # compiling the request answers $ python manage.py runserver # starts django's http server ... # browse to http://localhost:8000 it shows the welcome django window ^C # stops django's http server cd git-directory git status git commit -am "empty django-project"
Abbiamo la seguente struttura di directory:
git-directory/
|-- .git/
|-- venv/
+-- project-name/
|-- manage.py
+-- project-name/
|-- __init__.py
|-- settings.py
|-- urls.py
+-- wsgi.py
e siamo nella directory git-directoy/project-name.
Per creare una applicazione (app) Django:
$ python manage.py startapp app-name ... # edit app-name/models.py to define db entities used by app $ python manage.py makemigrations app-name $ python manage.py migrate
ottenendo la seguente struttura di directory:
git-directory/
|-- .git/
|-- venv/
+-- project-name/
|-- manage.py
|-- project-name/
| |-- __pycache__/ # this one will exists after
| | # at least a run of django's server
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| +-- wsgi.py
+-- app-name/
|-- __pycache__/ # as above
|-- migrations/
|-- templates # we'll create this one manually
| # if our app uses its own templates
|-- __init__.py
|-- admin.py
|-- models.py
|-- tests.py
|-- urls.py
+-- views.py