Blame view

install/INSTALLATION.txt 15 KB
1a8abf18   Etienne Pallier   updated install doc
1
h1. Project Installation
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
2
3


1a8abf18   Etienne Pallier   updated install doc
4
5
Project Development page : [[Project Development]]

e649dbb9   Etienne Pallier   INSTALLATION DOC ...
6
7
8
9
10
11
12
HOWTO Format Redmine Wiki : http://www.redmine.org/projects/redmine/wiki/FrRedmineWikiFormatting

{{>toc}}


---

e649dbb9   Etienne Pallier   INSTALLATION DOC ...
13
14
15
16
17
18
19
20
21
22
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}I - DATABASE SCHEMA (v0.2.1)%


{{thumbnail(PYROS_PDM_v021.png, size=300, title=Pyros data model)}}


---

h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}II - Get the project (from gitlab)%

e649dbb9   Etienne Pallier   INSTALLATION DOC ...
23

1a8abf18   Etienne Pallier   updated install doc
24
h3. Browse the code from gitlab
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
25

1a8abf18   Etienne Pallier   updated install doc
26
https://gitlab.irap.omp.eu/epallier/pyros/tree/master
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
27

1a8abf18   Etienne Pallier   updated install doc
28
h3. Project structure
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
29

1a8abf18   Etienne Pallier   updated install doc
30
Once you have fetched the project, you should obtain this structure:
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
31
32
33
34

<pre>

PYROS/
1a8abf18   Etienne Pallier   updated install doc
35
36
37
├── install/
│   └── REQUIREMENTS.txt
│   └── INSTALLATION.txt
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
├── public/
│   └── static/
├── src/
│   ├── manage.py
│   ├── pyros/
│   │   ├── __init__.py
│   │   ├── __pycache__
│   │   ├── settings.py
│   │   ├── urls.py
│   │   └── wsgi.py
│   └── pyrosapp/
│       ├── __init__.py
│       ├── admin.py
│       ├── apps.py
│       ├── migrations
│       ├── models.py
│       ├── tests.py
│       └── views.py


</pre>

1a8abf18   Etienne Pallier   updated install doc
60
61
62
63
64
65
h3. From the terminal

<pre>
git clone https://gitlab.irap.omp.eu/epallier/pyros.git PYROS
(or also : git clone git@gitlab.irap.omp.eu:epallier/pyros.git PYROS)
</pre>
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
66

1a8abf18   Etienne Pallier   updated install doc
67
This creates a PYROS/ folder containing the project (with a .git/ subfolder for synchronization with the git repository)
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
68

1a8abf18   Etienne Pallier   updated install doc
69
_If you just wanted a static copy of the project (without synchronization), just remove the .git/ folder:_
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
70
<pre>
1a8abf18   Etienne Pallier   updated install doc
71
$ rm -r .git/
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
72
73
</pre>

1a8abf18   Etienne Pallier   updated install doc
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
h3. From Eclipse

0) Install Eclipse (if necessary)

Get the Eclipse version for Php

Install the plug-in pydev (via install new software, add http://pydev.org/updates)


1) Deactivate CA certificate verification

Window -> Preferences -> Team -> git -> configuration -> Add entry

Key = http.sslVerify
Value = false

2) Fetch the project

File/Import project from git

Select repository source: Clone URI: https://gitlab.irap.omp.eu/epallier/pyros.git

Directory: 
par défaut, il propose : /Users/epallier/git/pyros
mais on peut le mettre ailleurs (c'est ce que j'ai fait)

initial branch: master
remote name: origin

Import as general project

Project name: PYROS


3) Configure the project

The project is created. Now, you have to set it as a «PyDev » and a « Django » project.

clic droit sur le projet / PyDev / set as a PyDev project

clic droit sur le projet / PyDev / set as a Django project

clic droit sur le projet : on doit maintenant avoir un sous-menu Django

clic droit sur le dossier src / PyDev / set as source folder (add to PYTHONPATH)

clic droit sur projet / Properties / Pydev-Django :
  - Django manage.py : src/manage.py
  - Django settings module : pyros.settings


4) Set Code style

Window/Preferences : Pydev / Editor
- Auto Imports : uncheck « Do auto import »
- Code style:
	- Locals … : camelCase
	- Methods : camelCase() with first lower
- Code style / Code Formatter: activer « use autopep8.py for code formatting »
- Tabs : Tab length : 4

(
il faudra aussi faire un peu plus loin : 
https://projects.irap.omp.eu/projects/pyros/wiki/Project_Installation#Eclipse-only-Set-the-Python3-virtual-environment-as-the-project-interpreter
)

h3. For easier installation, you can use Sqlite instead of Mysql

By default, Mysql will be used, but then you will need to install the Mysql database server.

Thus, in order to skip Mysql installation, use Sqlite instead as the database server (which will need no installation at all) :

Edit pyros/settings.py and just set MYSQL variable to False, and that's it.

e649dbb9   Etienne Pallier   INSTALLATION DOC ...
148
149
150
151
152
153
154
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}III - INSTALLATION%


---

h3. Install MySql (only if necessary)

1a8abf18   Etienne Pallier   updated install doc
155
156
*Skip this step if you are using Sqlite instead of MySql*

e649dbb9   Etienne Pallier   INSTALLATION DOC ...
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
 * Linux Ubuntu
<pre>

$ sudo apt-get install mysql-server
$ sudo apt-get install mysql-client

</pre>

 * Linux CentOS
<pre>
TODO:
$ sudo yum install mysql
...
</pre>

 * Mac OS X
Install XAMPP
(but you could also use the pre-installed Mac OS MySql)
<pre>
TODO:
</pre>

 * Windows

<pre>
Download and install the newest version on https://dev.mysql.com/downloads/installer/

Once installed, launch MySQL Installer. Clic on 'Add...' on the right.
In MySQLServers section, choose the newest, then clic on next.
Install and configure the server (just follow the installation guide).

Then launch mysql (via the Windows menu).
</pre>


---

h3. Install Python3.5 (only if necessary)


 * Mac OS X :
<pre>

1) Installer MacPort
(TODO: doc)

2) Installer le "port" python35
$ sudo port install python35

</pre>

 * Linux (Ubuntu) :
<pre>
$ sudo add-apt-repository ppa:fkrull/deadsnakes
$ sudo apt-get update
$ sudo apt-get install python3.5

$ sudo pip install virtualenv
</pre>


 * Windows 7 :
<pre>
Go to https://www.python.org/downloads/windows/ , choose the wanted version
On the wanted version’s page, download Windows x86 executable installer

Run the executable
    * On the first page, check "Add python3.5 to PATH"
    * Choose "Install now" option

Open cmd (windows + R, cmd) :
 $ python -m pip install --upgrade pip
 $ pip install virtualenv
</pre>

 * Windows 10 :
<pre>
TODO:
</pre>

1a8abf18   Etienne Pallier   updated install doc
237
238
---

e649dbb9   Etienne Pallier   INSTALLATION DOC ...
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
h3. Create a Python3 virtual environment dedicated to the project (inside the project folder)

<pre>

$ mkdir private/

$ cd private/

$ which python3.5 ("where python" for windows)
/opt/local/bin/python3.5

$ virtualenv-3.5 venv_py35_pyros -p /opt/local/bin/python3.5
=> creates a venv_py35_pyros/ folder inside PYROS/private/

</pre>

1a8abf18   Etienne Pallier   updated install doc
255
256
---

e649dbb9   Etienne Pallier   INSTALLATION DOC ...
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
h3. Activate the python virtual environment (from inside the project)

<pre>

$ pwd
.../PYROS/private

$ source ./venv_py35_pyros/bin/activate (venv_py35_pyros/Scripts/activate on Windows)


$ python -V
Python 3.5.1

$ which pip
.../PYROS/venv_py35_pyros/bin/pip

Upgrade pip to last version available:
$ pip install --upgrade pip
Collecting pip
  Downloading pip-8.1.1-py2.py3-none-any.whl (1.2MB)
Installing collected packages: pip
  Found existing installation: pip 7.1.2
    Uninstalling pip-7.1.2:
      Successfully uninstalled pip-7.1.2
Successfully installed pip-8.1.1

Upgrade wheel to last version available:
$ pip install --upgrade wheel
Collecting wheel
  Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
Installing collected packages: wheel
  Found existing installation: wheel 0.24.0
    Uninstalling wheel-0.24.0:
      Successfully uninstalled wheel-0.24.0
Successfully installed wheel-0.29.0


1a8abf18   Etienne Pallier   updated install doc
294
295
296
297
</pre>

---

e649dbb9   Etienne Pallier   INSTALLATION DOC ...
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
h3. Install the needed Python packages (from within the virtual environment)

First, be sure that the virtual environment is activated:
<pre>
$ python -V
Python 3.5.1
</pre>

 * *Automatic Installation of all packages*
<pre>
$ pip install -r REQUIREMENTS.txt
</pre>

 * *Or, manual installation of each package*

  * *Install Django* :
<pre>
$ pip install django
Collecting django
  Downloading Django-1.9.4-py2.py3-none-any.whl (6.6MB)
Installing collected packages: django
Successfully installed django-1.9.4

$ pip install django-admin-tools
Collecting django-admin-tools
  Downloading django_admin_tools-0.7.2-py2.py3-none-any.whl (289kB)
Installing collected packages: django-admin-tools
Successfully installed django-admin-tools-0.7.2

$ pip install django-debug-toolbar
Collecting django-debug-toolbar
  Downloading django_debug_toolbar-1.4-py2.py3-none-any.whl (212kB)
Requirement already satisfied (use --upgrade to upgrade): Django>=1.7 in ./venv_py35_pyros/lib/python3.5/site-packages (from django-debug-toolbar)
Collecting sqlparse (from django-debug-toolbar)
  Downloading sqlparse-0.1.19.tar.gz (58kB)
Building wheels for collected packages: sqlparse
  Running setup.py bdist_wheel for sqlparse ... done
  Stored in directory: /Users/epallier/Library/Caches/pip/wheels/7b/d4/72/6011bb100dd5fc213164e4bbee13d4e03261dd54ce6a5de6b8
Successfully built sqlparse
Installing collected packages: sqlparse, django-debug-toolbar
Successfully installed django-debug-toolbar-1.4 sqlparse-0.1.19

$ pip install django-extensions
Collecting django-extensions
  Downloading django_extensions-1.6.1-py2.py3-none-any.whl (202kB)
Collecting six>=1.2 (from django-extensions)
  Downloading six-1.10.0-py2.py3-none-any.whl
Installing collected packages: six, django-extensions
Successfully installed django-extensions-1.6.1 six-1.10.0

$ pip install django-suit
Collecting django-suit
  Downloading django-suit-0.2.18.tar.gz (587kB)
Building wheels for collected packages: django-suit
  Running setup.py bdist_wheel for django-suit ... done
  Stored in directory: /Users/epallier/Library/Caches/pip/wheels/12/8b/9a/e02ab0ad9229881638aa040d47d77c8f562999533811927d41
Successfully built django-suit
Installing collected packages: django-suit
Successfully installed django-suit-0.2.18

</pre>

  * *Install the web application server gunicorn (will be used in production instead of the dev django web server)* :
<pre>
$ pip install gunicorn
Collecting gunicorn
  Downloading gunicorn-19.4.5-py2.py3-none-any.whl (112kB)
Installing collected packages: gunicorn
Successfully installed gunicorn-19.4.5
</pre>

  * *Install the python mysql client*:
<pre>
$ pip install mysqlclient
...
</pre>

   * => Issue under Mac OS X:
<pre>
$ pip install mysqlclient
Collecting mysqlclient
  Downloading mysqlclient-1.3.7.tar.gz (79kB)
Building wheels for collected packages: mysqlclient
  Running setup.py bdist_wheel for mysqlclient ... error
…
  ----------------------------------------
  Failed building wheel for mysqlclient
  Running setup.py clean for mysqlclient
Failed to build mysqlclient
Installing collected packages: mysqlclient
  Running setup.py install for mysqlclient ... done
Successfully installed mysqlclient-1.3.7

BOUH !!!

$ pip install --upgrade wheel
Collecting wheel
  Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
Installing collected packages: wheel
  Found existing installation: wheel 0.24.0
    Uninstalling wheel-0.24.0:
      Successfully uninstalled wheel-0.24.0
Successfully installed wheel-0.29.0

$ pip uninstall mysqlclient

$ pip install mysqlclient
Collecting mysqlclient
  Using cached mysqlclient-1.3.7.tar.gz
Building wheels for collected packages: mysqlclient
  Running setup.py bdist_wheel for mysqlclient ... done
  Stored in directory: /Users/epallier/Library/Caches/pip/wheels/9b/06/50/d11418c26cf8f2156b13d4363b5afde8e7e75ebb8540d0228d
Successfully built mysqlclient
Installing collected packages: mysqlclient
Successfully installed mysqlclient-1.3.7

YES !!!

</pre>

   * => Issues under Ubuntu:
<pre>
$ pip install mysqlclient
Collecting mysqlclient
  Downloading mysqlclient-1.3.7.tar.gz (79kB)
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
    Complete output from command python setup.py egg_info:
    /bin/sh: 1: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    [...]
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-q6j4inuz/mysqlclient/

BOUH !!!

$ sudo apt-get install libmysqlclient-dev

$ pip install mysqlclient
Collecting mysqlclient
  Using cached mysqlclient-1.3.7.tar.gz
Building wheels for collected packages: mysqlclient
  Running setup.py bdist_wheel for mysqlclient ... error
…
    _mysql.c:40:20: fatal error: Python.h: No such file or directory
     #include "Python.h"
                        ^
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    
    ----------------------------------------
Command "/home/carens_p/pyros/venv_py35_pyros/bin/python3.5 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-k3klv92j/mysqlclient/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-gz242xxs-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/carens_p/pyros/venv_py35_pyros/include/site/python3.5/mysqlclient" failed with error code 1 in /tmp/pip-build-k3klv92j/mysqlclient/

BOUH !!!

$ sudo apt-get install python3.5-dev

$ pip install mysqlclient

YES !!!

</pre>

1a8abf18   Etienne Pallier   updated install doc
460
 * => Issue under Windows
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
461
<pre>
1a8abf18   Etienne Pallier   updated install doc
462
Same message as the issue for Mac.
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
463

1a8abf18   Etienne Pallier   updated install doc
464
Go to http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient to download the newest mysqlclient wheel
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
465

1a8abf18   Etienne Pallier   updated install doc
466
$ pip install path\to\mysqlclient\wheel
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
467

1a8abf18   Etienne Pallier   updated install doc
468
No need to redo "pip install mysqlclient"
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
469
470
</pre>

e649dbb9   Etienne Pallier   INSTALLATION DOC ...
471
472
---

1a8abf18   Etienne Pallier   updated install doc
473
h3. (Eclipse only) Set the Python3 virtual environment as the project interpreter
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
474

1a8abf18   Etienne Pallier   updated install doc
475
476
clic droit sur projet / Properties / PyDev - Interpreter/Grammar :
Grammar version : 3
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
477

1a8abf18   Etienne Pallier   updated install doc
478
Interpreter : click on « click here to configure an interpreter not listed »
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
479

1a8abf18   Etienne Pallier   updated install doc
480
481
482
483
484
485
click on « New » :
- Interpreter name : venv_py35_pyros
- Interpreter executable : click on « Browse »
	Select your private/venv_py35_pyros/bin/python3.5 executable
	click OK
	click OK again
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
486

1a8abf18   Etienne Pallier   updated install doc
487
Interpreter: select now venv_py35_pyros from the list
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
488

1a8abf18   Etienne Pallier   updated install doc
489
---
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
490

1a8abf18   Etienne Pallier   updated install doc
491
h3. Run the project
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
492

1a8abf18   Etienne Pallier   updated install doc
493
TODO: more details... (notamment sur localhost:8000/admin)
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
494

1a8abf18   Etienne Pallier   updated install doc
495
h4. From the terminal
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
496
497

<pre>
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
498

1a8abf18   Etienne Pallier   updated install doc
499
$ cd src/
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
500

1a8abf18   Etienne Pallier   updated install doc
501
502
503
504
505
506
$ ./manage.py runserver
(or gunicorn pyros.wsgi)
==> http://localhost:8000
...
...
Ctrl-c
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
507

e649dbb9   Etienne Pallier   INSTALLATION DOC ...
508
509
</pre>

1a8abf18   Etienne Pallier   updated install doc
510
h4. From Eclipse
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
511

1a8abf18   Etienne Pallier   updated install doc
512
Right clic on project -> Django/Custom command/runserver
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
513

1a8abf18   Etienne Pallier   updated install doc
514
Error on Ubuntu :
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
515
516

<pre>
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
517

1a8abf18   Etienne Pallier   updated install doc
518
519
520
521
Traceback (most recent call last):
  File "/home/carens_p/git/pyros/src/manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ImportError: No module named 'django'
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
522
523
524

</pre>

1a8abf18   Etienne Pallier   updated install doc
525
Project -> Properties -> Pydev interpreter -> Clic here to configure an interpreter not listed
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
526

1a8abf18   Etienne Pallier   updated install doc
527
select venv_py35_pyros
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
528

1a8abf18   Etienne Pallier   updated install doc
529
In Libraries, clic on 'New folder', then select your virtualenv's lib/python3.5/site-packages folder.
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
530

1a8abf18   Etienne Pallier   updated install doc
531
OK -> re-select venv_py35_pyros in 'Interpreter' dropdown menu
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
532

1a8abf18   Etienne Pallier   updated install doc
533
Then right clic on project -> Django/Custom command/runserver
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
534

1a8abf18   Etienne Pallier   updated install doc
535
check http://localhost:8000/
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
536
537


1a8abf18   Etienne Pallier   updated install doc
538
539
540
---

h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}IV - TEST%
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
541

1a8abf18   Etienne Pallier   updated install doc
542
Tests are classes declared in all apps' test.py file. The test classes inherit from django.test.TestCase
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
543

1a8abf18   Etienne Pallier   updated install doc
544
You can run the tests suite, just to be sure that the software is well installed.
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
545

1a8abf18   Etienne Pallier   updated install doc
546
h3. From Terminal
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
547

e649dbb9   Etienne Pallier   INSTALLATION DOC ...
548
549

<pre>
1a8abf18   Etienne Pallier   updated install doc
550
$ cd src/
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
551

1a8abf18   Etienne Pallier   updated install doc
552
$ ./manage.py test
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
553

1a8abf18   Etienne Pallier   updated install doc
554
Ran 5 tests in 0.093s
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
555

1a8abf18   Etienne Pallier   updated install doc
556
OK
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
557
558
</pre>

1a8abf18   Etienne Pallier   updated install doc
559
h3. From Eclipse:
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
560

1a8abf18   Etienne Pallier   updated install doc
561
562
563
* Right-clic on the project / Django / Run Django tests

* Right-clic on the project / Django / Custom command / ...
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
564

1a8abf18   Etienne Pallier   updated install doc
565
h3. Custom commands :
e649dbb9   Etienne Pallier   INSTALLATION DOC ...
566

1a8abf18   Etienne Pallier   updated install doc
567
568
569
$ [./manage.py] test app.tests                           # Run tests for the application 'app'
$ [./manage.py] test app.tests.ModelTests                # Run test methods declared in the class app.tests.ModelTests
$ [./manage.py] test app.tests.ModelTests.test_method    # Only run the method test_method declared in app.tests.ModelTests