blob: 651f505c5e34964c5899d0954f67dd24450bd1f9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
Starting a ``repoze.bfg`` Project
=================================
To start a ``repoze.bfg`` project, use the ``paster create``
facility::
$ paster create -t bfg
Selected and implied templates:
repoze.bfg#bfg repoze.bfg starter project
Enter project name: myproject
Variables:
egg: myproject
package: myproject
project: myproject
Creating template bfg
Creating directory ./myproject
Recursing into +package+
Creating ./myproject/myproject/
Copying __init__.py to ./myproject/myproject/__init__.py
Copying configure.zcml to ./myproject/myproject/configure.zcml
Copying models.py to ./myproject/myproject/models.py
Copying run.py_tmpl to ./myproject/myproject/run.py
Recursing into templates
Creating ./myproject/myproject/templates/
Copying mytemplate.pt to ./myproject/myproject/templates/mytemplate.pt
Copying views.py_tmpl to ./myproject/myproject/views.py
Copying +package+.ini_tmpl to ./myproject/myproject.ini
Copying CHANGES.txt_tmpl to ./myproject/CHANGES.txt
Copying README.txt_tmpl to ./myproject/README.txt
Copying ez_setup.py to ./myproject/ez_setup.py
Copying setup.py_tmpl to ./myproject/setup.py
Running /Users/chrism/projects/repoze-devel/bfg/bin/python setup.py egg_info
The project will be created in a directory named ``myproject``. That
directory is a directory from which a Python setuptools *distribution*
can be created. THe ``setup.py`` file in that directory can be used
to distribute your application, or install your application for
deployment or development. A sample PasteDeploy ``.ini`` file named
``myproject.ini`` will also be created in the project directory. You
can use this to run your application.
The main ``myproject`` contains an additional subdirectory (also named
``myproject``) representing a Python pakckage which holds very simple
bfg sample code. This is where you'll edit your application's Python
code and templates.
Installing your Newly Created Project for Development
-----------------------------------------------------
Using your favorite Python interpreter (using a virtualenv suggested
in order to get isolation), invoke the following command when inside
the project directory against the generated ``setup.py``::
$ python setup.py develop
...
Finished processing dependencies for myproject==0.1
This will install your application 's package into the interpreter so
it can be found and run under a webserver.
Runnning The Project Application
--------------------------------
Once the project is installed for development, you can run it using
the ``paster serve`` command against the generated ``myproject.ini``
configuration file::
$ paster serve myproject/myproject.ini
Starting server in PID 16601.
serving on 0.0.0.0:5432 view at http://127.0.0.1:5432
It will listen on port 5432. If you visit the unchanged sample
application using a browser (e.g. http://localhost:5432/), you will
see the following::
Welcome to myproject
.. note:: During development, it's often useful to run ``paster serve``
using its ``--reload`` option. When any Python module your project
uses, changes, it will restart the server, which makes development
easier, as changes to Python code under ``repoze.bfg`` is not put
into effect until the server restarts.
|