summaryrefslogtreecommitdiff
path: root/docs/quick_tutorial
diff options
context:
space:
mode:
Diffstat (limited to 'docs/quick_tutorial')
-rw-r--r--docs/quick_tutorial/authentication/setup.py1
-rw-r--r--docs/quick_tutorial/authentication/tutorial/__init__.py1
-rw-r--r--docs/quick_tutorial/authentication/tutorial/tests.py47
-rw-r--r--docs/quick_tutorial/authorization/setup.py1
-rw-r--r--docs/quick_tutorial/authorization/tutorial/__init__.py1
-rw-r--r--docs/quick_tutorial/authorization/tutorial/tests.py47
-rw-r--r--docs/quick_tutorial/databases.rst9
-rw-r--r--docs/quick_tutorial/databases/setup.py4
-rw-r--r--docs/quick_tutorial/databases/tutorial/__init__.py1
-rw-r--r--docs/quick_tutorial/forms/setup.py1
-rw-r--r--docs/quick_tutorial/forms/tutorial/__init__.py1
-rw-r--r--docs/quick_tutorial/forms/tutorial/tests.py23
-rw-r--r--docs/quick_tutorial/hello_world.rst3
-rw-r--r--docs/quick_tutorial/jinja2/tutorial/home.pt9
-rw-r--r--docs/quick_tutorial/json/setup.py1
-rw-r--r--docs/quick_tutorial/json/tutorial/__init__.py1
-rw-r--r--docs/quick_tutorial/logging/setup.py1
-rw-r--r--docs/quick_tutorial/logging/tutorial/__init__.py1
-rw-r--r--docs/quick_tutorial/more_view_classes/setup.py1
-rw-r--r--docs/quick_tutorial/more_view_classes/tutorial/__init__.py1
-rw-r--r--docs/quick_tutorial/package.rst2
-rw-r--r--docs/quick_tutorial/request_response/tutorial/home.pt9
-rw-r--r--docs/quick_tutorial/request_response/tutorial/tests.py4
-rw-r--r--docs/quick_tutorial/requirements.rst3
-rw-r--r--docs/quick_tutorial/routing/setup.py1
-rw-r--r--docs/quick_tutorial/routing/tutorial/__init__.py1
-rw-r--r--docs/quick_tutorial/scaffolds/scaffolds/__init__.py1
-rw-r--r--docs/quick_tutorial/scaffolds/scaffolds/templates/mytemplate.pt7
-rw-r--r--docs/quick_tutorial/scaffolds/setup.py7
-rw-r--r--docs/quick_tutorial/sessions/setup.py1
-rw-r--r--docs/quick_tutorial/sessions/tutorial/__init__.py1
-rw-r--r--docs/quick_tutorial/static_assets.rst2
-rw-r--r--docs/quick_tutorial/static_assets/setup.py1
-rw-r--r--docs/quick_tutorial/static_assets/tutorial/__init__.py1
-rw-r--r--docs/quick_tutorial/templating.rst34
-rw-r--r--docs/quick_tutorial/templating/setup.py1
-rw-r--r--docs/quick_tutorial/templating/tutorial/__init__.py1
-rw-r--r--docs/quick_tutorial/view_classes/setup.py1
-rw-r--r--docs/quick_tutorial/view_classes/tutorial/__init__.py1
-rw-r--r--docs/quick_tutorial/views/tutorial/tests.py4
40 files changed, 86 insertions, 152 deletions
diff --git a/docs/quick_tutorial/authentication/setup.py b/docs/quick_tutorial/authentication/setup.py
index 9997984d3..2221b72e9 100644
--- a/docs/quick_tutorial/authentication/setup.py
+++ b/docs/quick_tutorial/authentication/setup.py
@@ -2,6 +2,7 @@ from setuptools import setup
requires = [
'pyramid',
+ 'pyramid_chameleon'
]
setup(name='tutorial',
diff --git a/docs/quick_tutorial/authentication/tutorial/__init__.py b/docs/quick_tutorial/authentication/tutorial/__init__.py
index 7aa049427..efc09e760 100644
--- a/docs/quick_tutorial/authentication/tutorial/__init__.py
+++ b/docs/quick_tutorial/authentication/tutorial/__init__.py
@@ -7,6 +7,7 @@ from .security import groupfinder
def main(global_config, **settings):
config = Configurator(settings=settings)
+ config.include('pyramid_chameleon')
# Security policies
authn_policy = AuthTktAuthenticationPolicy(
diff --git a/docs/quick_tutorial/authentication/tutorial/tests.py b/docs/quick_tutorial/authentication/tutorial/tests.py
deleted file mode 100644
index 6ff554a1e..000000000
--- a/docs/quick_tutorial/authentication/tutorial/tests.py
+++ /dev/null
@@ -1,47 +0,0 @@
-import unittest
-
-from pyramid import testing
-
-
-class TutorialViewTests(unittest.TestCase):
- def setUp(self):
- self.config = testing.setUp()
-
- def tearDown(self):
- testing.tearDown()
-
- def test_home(self):
- from .views import TutorialViews
-
- request = testing.DummyRequest()
- inst = TutorialViews(request)
- response = inst.home()
- self.assertEqual('Home View', response['name'])
-
- def test_hello(self):
- from .views import TutorialViews
-
- request = testing.DummyRequest()
- inst = TutorialViews(request)
- response = inst.hello()
- self.assertEqual('Hello View', response['name'])
-
-
-class TutorialFunctionalTests(unittest.TestCase):
- def setUp(self):
- from tutorial import main
- app = main({})
- from webtest import TestApp
-
- self.testapp = TestApp(app)
-
- def tearDown(self):
- testing.tearDown()
-
- def test_home(self):
- res = self.testapp.get('/', status=200)
- self.assertIn(b'<h1>Hi Home View', res.body)
-
- def test_hello(self):
- res = self.testapp.get('/howdy', status=200)
- self.assertIn(b'<h1>Hi Hello View', res.body)
diff --git a/docs/quick_tutorial/authorization/setup.py b/docs/quick_tutorial/authorization/setup.py
index 9997984d3..2221b72e9 100644
--- a/docs/quick_tutorial/authorization/setup.py
+++ b/docs/quick_tutorial/authorization/setup.py
@@ -2,6 +2,7 @@ from setuptools import setup
requires = [
'pyramid',
+ 'pyramid_chameleon'
]
setup(name='tutorial',
diff --git a/docs/quick_tutorial/authorization/tutorial/__init__.py b/docs/quick_tutorial/authorization/tutorial/__init__.py
index 715a14203..8f7ab8277 100644
--- a/docs/quick_tutorial/authorization/tutorial/__init__.py
+++ b/docs/quick_tutorial/authorization/tutorial/__init__.py
@@ -8,6 +8,7 @@ from .security import groupfinder
def main(global_config, **settings):
config = Configurator(settings=settings,
root_factory='.resources.Root')
+ config.include('pyramid_chameleon')
# Security policies
authn_policy = AuthTktAuthenticationPolicy(
diff --git a/docs/quick_tutorial/authorization/tutorial/tests.py b/docs/quick_tutorial/authorization/tutorial/tests.py
deleted file mode 100644
index 6ff554a1e..000000000
--- a/docs/quick_tutorial/authorization/tutorial/tests.py
+++ /dev/null
@@ -1,47 +0,0 @@
-import unittest
-
-from pyramid import testing
-
-
-class TutorialViewTests(unittest.TestCase):
- def setUp(self):
- self.config = testing.setUp()
-
- def tearDown(self):
- testing.tearDown()
-
- def test_home(self):
- from .views import TutorialViews
-
- request = testing.DummyRequest()
- inst = TutorialViews(request)
- response = inst.home()
- self.assertEqual('Home View', response['name'])
-
- def test_hello(self):
- from .views import TutorialViews
-
- request = testing.DummyRequest()
- inst = TutorialViews(request)
- response = inst.hello()
- self.assertEqual('Hello View', response['name'])
-
-
-class TutorialFunctionalTests(unittest.TestCase):
- def setUp(self):
- from tutorial import main
- app = main({})
- from webtest import TestApp
-
- self.testapp = TestApp(app)
-
- def tearDown(self):
- testing.tearDown()
-
- def test_home(self):
- res = self.testapp.get('/', status=200)
- self.assertIn(b'<h1>Hi Home View', res.body)
-
- def test_hello(self):
- res = self.testapp.get('/howdy', status=200)
- self.assertIn(b'<h1>Hi Hello View', res.body)
diff --git a/docs/quick_tutorial/databases.rst b/docs/quick_tutorial/databases.rst
index 978ef6982..83cf33862 100644
--- a/docs/quick_tutorial/databases.rst
+++ b/docs/quick_tutorial/databases.rst
@@ -37,6 +37,15 @@ Objectives
Steps
=====
+.. warning::
+
+ Your Python might not have SQLite bundled. If not, install it into
+ your virtual environment with:
+
+ .. code-block:: bash
+
+ $ $VENV/bin/easy_install sphinx pysqlite
+
#. We are going to use the forms step as our starting point:
.. code-block:: bash
diff --git a/docs/quick_tutorial/databases/setup.py b/docs/quick_tutorial/databases/setup.py
index 5cb197c39..238358fe4 100644
--- a/docs/quick_tutorial/databases/setup.py
+++ b/docs/quick_tutorial/databases/setup.py
@@ -2,11 +2,11 @@ from setuptools import setup
requires = [
'pyramid',
+ 'pyramid_chameleon',
'deform',
'sqlalchemy',
'pyramid_tm',
- 'zope.sqlalchemy',
- 'pysqlite'
+ 'zope.sqlalchemy'
]
setup(name='tutorial',
diff --git a/docs/quick_tutorial/databases/tutorial/__init__.py b/docs/quick_tutorial/databases/tutorial/__init__.py
index 47e8fefa6..74aa25740 100644
--- a/docs/quick_tutorial/databases/tutorial/__init__.py
+++ b/docs/quick_tutorial/databases/tutorial/__init__.py
@@ -11,6 +11,7 @@ def main(global_config, **settings):
config = Configurator(settings=settings,
root_factory='tutorial.models.Root')
+ config.include('pyramid_chameleon')
config.add_route('wiki_view', '/')
config.add_route('wikipage_add', '/add')
config.add_route('wikipage_view', '/{uid}')
diff --git a/docs/quick_tutorial/forms/setup.py b/docs/quick_tutorial/forms/setup.py
index 5db620eb9..361ade013 100644
--- a/docs/quick_tutorial/forms/setup.py
+++ b/docs/quick_tutorial/forms/setup.py
@@ -2,6 +2,7 @@ from setuptools import setup
requires = [
'pyramid',
+ 'pyramid_chameleon',
'deform'
]
diff --git a/docs/quick_tutorial/forms/tutorial/__init__.py b/docs/quick_tutorial/forms/tutorial/__init__.py
index b12a4154a..dff7457cf 100644
--- a/docs/quick_tutorial/forms/tutorial/__init__.py
+++ b/docs/quick_tutorial/forms/tutorial/__init__.py
@@ -3,6 +3,7 @@ from pyramid.config import Configurator
def main(global_config, **settings):
config = Configurator(settings=settings)
+ config.include('pyramid_chameleon')
config.add_route('wiki_view', '/')
config.add_route('wikipage_add', '/add')
config.add_route('wikipage_view', '/{uid}')
diff --git a/docs/quick_tutorial/forms/tutorial/tests.py b/docs/quick_tutorial/forms/tutorial/tests.py
index 6ff554a1e..5a2c40904 100644
--- a/docs/quick_tutorial/forms/tutorial/tests.py
+++ b/docs/quick_tutorial/forms/tutorial/tests.py
@@ -11,25 +11,18 @@ class TutorialViewTests(unittest.TestCase):
testing.tearDown()
def test_home(self):
- from .views import TutorialViews
+ from .views import WikiViews
request = testing.DummyRequest()
- inst = TutorialViews(request)
- response = inst.home()
- self.assertEqual('Home View', response['name'])
-
- def test_hello(self):
- from .views import TutorialViews
-
- request = testing.DummyRequest()
- inst = TutorialViews(request)
- response = inst.hello()
- self.assertEqual('Hello View', response['name'])
+ inst = WikiViews(request)
+ response = inst.wiki_view()
+ self.assertEqual(len(response['pages']), 3)
class TutorialFunctionalTests(unittest.TestCase):
def setUp(self):
from tutorial import main
+
app = main({})
from webtest import TestApp
@@ -40,8 +33,4 @@ class TutorialFunctionalTests(unittest.TestCase):
def test_home(self):
res = self.testapp.get('/', status=200)
- self.assertIn(b'<h1>Hi Home View', res.body)
-
- def test_hello(self):
- res = self.testapp.get('/howdy', status=200)
- self.assertIn(b'<h1>Hi Hello View', res.body)
+ self.assertIn(b'<title>Wiki: View</title>', res.body)
diff --git a/docs/quick_tutorial/hello_world.rst b/docs/quick_tutorial/hello_world.rst
index 166f791fc..59e088a31 100644
--- a/docs/quick_tutorial/hello_world.rst
+++ b/docs/quick_tutorial/hello_world.rst
@@ -42,7 +42,8 @@ Steps
#. Make sure you have followed the steps in :doc:`requirements`.
-#. Create a directory for this step:
+#. Starting from your workspace directory
+ (``~/projects/quick_tutorial``), create a directory for this step:
.. code-block:: bash
diff --git a/docs/quick_tutorial/jinja2/tutorial/home.pt b/docs/quick_tutorial/jinja2/tutorial/home.pt
deleted file mode 100644
index a0cc08e7a..000000000
--- a/docs/quick_tutorial/jinja2/tutorial/home.pt
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <title>Quick Tour: ${name}</title>
-</head>
-<body>
-<h1>Hi ${name}</h1>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/quick_tutorial/json/setup.py b/docs/quick_tutorial/json/setup.py
index 9997984d3..2221b72e9 100644
--- a/docs/quick_tutorial/json/setup.py
+++ b/docs/quick_tutorial/json/setup.py
@@ -2,6 +2,7 @@ from setuptools import setup
requires = [
'pyramid',
+ 'pyramid_chameleon'
]
setup(name='tutorial',
diff --git a/docs/quick_tutorial/json/tutorial/__init__.py b/docs/quick_tutorial/json/tutorial/__init__.py
index 61ddb5129..6652544c3 100644
--- a/docs/quick_tutorial/json/tutorial/__init__.py
+++ b/docs/quick_tutorial/json/tutorial/__init__.py
@@ -3,6 +3,7 @@ from pyramid.config import Configurator
def main(global_config, **settings):
config = Configurator(settings=settings)
+ config.include('pyramid_chameleon')
config.add_route('home', '/')
config.add_route('hello', '/howdy')
config.add_route('hello_json', 'howdy.json')
diff --git a/docs/quick_tutorial/logging/setup.py b/docs/quick_tutorial/logging/setup.py
index 9997984d3..2221b72e9 100644
--- a/docs/quick_tutorial/logging/setup.py
+++ b/docs/quick_tutorial/logging/setup.py
@@ -2,6 +2,7 @@ from setuptools import setup
requires = [
'pyramid',
+ 'pyramid_chameleon'
]
setup(name='tutorial',
diff --git a/docs/quick_tutorial/logging/tutorial/__init__.py b/docs/quick_tutorial/logging/tutorial/__init__.py
index 013d4538f..c3e1c9eef 100644
--- a/docs/quick_tutorial/logging/tutorial/__init__.py
+++ b/docs/quick_tutorial/logging/tutorial/__init__.py
@@ -3,6 +3,7 @@ from pyramid.config import Configurator
def main(global_config, **settings):
config = Configurator(settings=settings)
+ config.include('pyramid_chameleon')
config.add_route('home', '/')
config.add_route('hello', '/howdy')
config.scan('.views')
diff --git a/docs/quick_tutorial/more_view_classes/setup.py b/docs/quick_tutorial/more_view_classes/setup.py
index 9997984d3..2221b72e9 100644
--- a/docs/quick_tutorial/more_view_classes/setup.py
+++ b/docs/quick_tutorial/more_view_classes/setup.py
@@ -2,6 +2,7 @@ from setuptools import setup
requires = [
'pyramid',
+ 'pyramid_chameleon'
]
setup(name='tutorial',
diff --git a/docs/quick_tutorial/more_view_classes/tutorial/__init__.py b/docs/quick_tutorial/more_view_classes/tutorial/__init__.py
index 4ab83b413..9c1bcec06 100644
--- a/docs/quick_tutorial/more_view_classes/tutorial/__init__.py
+++ b/docs/quick_tutorial/more_view_classes/tutorial/__init__.py
@@ -3,6 +3,7 @@ from pyramid.config import Configurator
def main(global_config, **settings):
config = Configurator(settings=settings)
+ config.include('pyramid_chameleon')
config.add_route('home', '/')
config.add_route('hello', '/howdy/{first}/{last}')
config.scan('.views')
diff --git a/docs/quick_tutorial/package.rst b/docs/quick_tutorial/package.rst
index 99a83b790..90d022b29 100644
--- a/docs/quick_tutorial/package.rst
+++ b/docs/quick_tutorial/package.rst
@@ -68,7 +68,7 @@ Steps
.. code-block:: bash
$ $VENV/bin/python setup.py develop
- $ $VENV/bin/mkdir tutorial
+ $ mkdir tutorial
#. Enter the following into ``package/tutorial/__init__.py``:
diff --git a/docs/quick_tutorial/request_response/tutorial/home.pt b/docs/quick_tutorial/request_response/tutorial/home.pt
deleted file mode 100644
index a0cc08e7a..000000000
--- a/docs/quick_tutorial/request_response/tutorial/home.pt
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <title>Quick Tour: ${name}</title>
-</head>
-<body>
-<h1>Hi ${name}</h1>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/quick_tutorial/request_response/tutorial/tests.py b/docs/quick_tutorial/request_response/tutorial/tests.py
index 87c853375..7486c2b2d 100644
--- a/docs/quick_tutorial/request_response/tutorial/tests.py
+++ b/docs/quick_tutorial/request_response/tutorial/tests.py
@@ -24,7 +24,7 @@ class TutorialViewTests(unittest.TestCase):
request = testing.DummyRequest()
inst = TutorialViews(request)
response = inst.plain()
- self.assertIn('No Name Provided', response.body)
+ self.assertIn(b'No Name Provided', response.body)
def test_plain_with_name(self):
from .views import TutorialViews
@@ -33,7 +33,7 @@ class TutorialViewTests(unittest.TestCase):
request.GET['name'] = 'Jane Doe'
inst = TutorialViews(request)
response = inst.plain()
- self.assertIn('Jane Doe', response.body)
+ self.assertIn(b'Jane Doe', response.body)
class TutorialFunctionalTests(unittest.TestCase):
diff --git a/docs/quick_tutorial/requirements.rst b/docs/quick_tutorial/requirements.rst
index 31f4d5320..8afb664d4 100644
--- a/docs/quick_tutorial/requirements.rst
+++ b/docs/quick_tutorial/requirements.rst
@@ -223,7 +223,8 @@ during this tutorial:
# Mac and Linux
$ $VENV/bin/easy_install nose webtest deform sqlalchemy \
- pyramid_chameleon pyramid_debugtoolbar waitress
+ pyramid_chameleon pyramid_debugtoolbar waitress \
+ pyramid_jinja2 pyramid_tm zope.sqlalchemy pysqlite
# Windows
c:\> %VENV%\Scripts\easy_install nose webtest deform sqlalchemy pyramid_chameleon
diff --git a/docs/quick_tutorial/routing/setup.py b/docs/quick_tutorial/routing/setup.py
index 9997984d3..2221b72e9 100644
--- a/docs/quick_tutorial/routing/setup.py
+++ b/docs/quick_tutorial/routing/setup.py
@@ -2,6 +2,7 @@ from setuptools import setup
requires = [
'pyramid',
+ 'pyramid_chameleon'
]
setup(name='tutorial',
diff --git a/docs/quick_tutorial/routing/tutorial/__init__.py b/docs/quick_tutorial/routing/tutorial/__init__.py
index 0c47b6b0b..4b2dac36d 100644
--- a/docs/quick_tutorial/routing/tutorial/__init__.py
+++ b/docs/quick_tutorial/routing/tutorial/__init__.py
@@ -3,6 +3,7 @@ from pyramid.config import Configurator
def main(global_config, **settings):
config = Configurator(settings=settings)
+ config.include('pyramid_chameleon')
config.add_route('home', '/howdy/{first}/{last}')
config.scan('.views')
return config.make_wsgi_app() \ No newline at end of file
diff --git a/docs/quick_tutorial/scaffolds/scaffolds/__init__.py b/docs/quick_tutorial/scaffolds/scaffolds/__init__.py
index 6c512f52f..ad5ecbc6f 100644
--- a/docs/quick_tutorial/scaffolds/scaffolds/__init__.py
+++ b/docs/quick_tutorial/scaffolds/scaffolds/__init__.py
@@ -5,6 +5,7 @@ def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
config = Configurator(settings=settings)
+ config.include('pyramid_chameleon')
config.add_static_view('static', 'static', cache_max_age=3600)
config.add_route('home', '/')
config.scan()
diff --git a/docs/quick_tutorial/scaffolds/scaffolds/templates/mytemplate.pt b/docs/quick_tutorial/scaffolds/scaffolds/templates/mytemplate.pt
index d04da4649..b43a174e3 100644
--- a/docs/quick_tutorial/scaffolds/scaffolds/templates/mytemplate.pt
+++ b/docs/quick_tutorial/scaffolds/scaffolds/templates/mytemplate.pt
@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:tal="http://xml.zope.org/namespaces/tal">
<head>
- <title>The Pyramid Web Application Development Framework</title>
+ <title>The Pyramid Web Framework</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<meta name="keywords" content="python web application" />
<meta name="description" content="pyramid web application" />
@@ -24,7 +24,7 @@
<div class="middle align-center">
<p class="app-welcome">
Welcome to <span class="app-name">${project}</span>, an application generated by<br/>
- the Pyramid web application development framework.
+ the Pyramid Web Framework.
</p>
</div>
</div>
@@ -69,8 +69,5 @@
</div>
</div>
</div>
- <div id="footer">
- <div class="footer">&copy; Copyright 2008-2012, Agendaless Consulting.</div>
- </div>
</body>
</html>
diff --git a/docs/quick_tutorial/scaffolds/setup.py b/docs/quick_tutorial/scaffolds/setup.py
index 2af00a69e..ec95946a5 100644
--- a/docs/quick_tutorial/scaffolds/setup.py
+++ b/docs/quick_tutorial/scaffolds/setup.py
@@ -3,11 +3,14 @@ import os
from setuptools import setup, find_packages
here = os.path.abspath(os.path.dirname(__file__))
-README = open(os.path.join(here, 'README.txt')).read()
-CHANGES = open(os.path.join(here, 'CHANGES.txt')).read()
+with open(os.path.join(here, 'README.txt')) as f:
+ README = f.read()
+with open(os.path.join(here, 'CHANGES.txt')) as f:
+ CHANGES = f.read()
requires = [
'pyramid',
+ 'pyramid_chameleon',
'pyramid_debugtoolbar',
'waitress',
]
diff --git a/docs/quick_tutorial/sessions/setup.py b/docs/quick_tutorial/sessions/setup.py
index 9997984d3..2221b72e9 100644
--- a/docs/quick_tutorial/sessions/setup.py
+++ b/docs/quick_tutorial/sessions/setup.py
@@ -2,6 +2,7 @@ from setuptools import setup
requires = [
'pyramid',
+ 'pyramid_chameleon'
]
setup(name='tutorial',
diff --git a/docs/quick_tutorial/sessions/tutorial/__init__.py b/docs/quick_tutorial/sessions/tutorial/__init__.py
index 34ad1087e..ecf57bb32 100644
--- a/docs/quick_tutorial/sessions/tutorial/__init__.py
+++ b/docs/quick_tutorial/sessions/tutorial/__init__.py
@@ -7,6 +7,7 @@ def main(global_config, **settings):
'itsaseekreet')
config = Configurator(settings=settings,
session_factory=my_session_factory)
+ config.include('pyramid_chameleon')
config.add_route('home', '/')
config.add_route('hello', '/howdy')
config.scan('.views')
diff --git a/docs/quick_tutorial/static_assets.rst b/docs/quick_tutorial/static_assets.rst
index 3ac2d6f08..3c029a6bd 100644
--- a/docs/quick_tutorial/static_assets.rst
+++ b/docs/quick_tutorial/static_assets.rst
@@ -53,7 +53,7 @@ Steps
$ $VENV/bin/pserve development.ini --reload
-#. Open http://localhost:6543/ in your browser.
+#. Open http://localhost:6543/ in your browser and note the new font.
Analysis
========
diff --git a/docs/quick_tutorial/static_assets/setup.py b/docs/quick_tutorial/static_assets/setup.py
index 9997984d3..2221b72e9 100644
--- a/docs/quick_tutorial/static_assets/setup.py
+++ b/docs/quick_tutorial/static_assets/setup.py
@@ -2,6 +2,7 @@ from setuptools import setup
requires = [
'pyramid',
+ 'pyramid_chameleon'
]
setup(name='tutorial',
diff --git a/docs/quick_tutorial/static_assets/tutorial/__init__.py b/docs/quick_tutorial/static_assets/tutorial/__init__.py
index f07d61c6d..e244c2997 100644
--- a/docs/quick_tutorial/static_assets/tutorial/__init__.py
+++ b/docs/quick_tutorial/static_assets/tutorial/__init__.py
@@ -3,6 +3,7 @@ from pyramid.config import Configurator
def main(global_config, **settings):
config = Configurator(settings=settings)
+ config.include('pyramid_chameleon')
config.add_route('home', '/')
config.add_route('hello', '/howdy')
config.add_static_view(name='static', path='tutorial:static')
diff --git a/docs/quick_tutorial/templating.rst b/docs/quick_tutorial/templating.rst
index ba236d9da..136a494a0 100644
--- a/docs/quick_tutorial/templating.rst
+++ b/docs/quick_tutorial/templating.rst
@@ -16,12 +16,18 @@ Python, but instead, will use a templating language.
Pyramid doesn't mandate a particular database system, form library,
etc. It encourages replaceability. This applies equally to templating,
which is fortunate: developers have strong views about template
-languages. That said, Pyramid bundles Chameleon and Mako,
-so in this step, let's use Chameleon as an example.
+languages. As of Pyramid 1.5a2, Pyramid doesn't even bundle a template
+language!
+
+It does, however, have strong ties to Jinja2, Mako, and Chameleon. In
+this step we see how to add ``pyramid_chameleon`` to your project,
+then change your views to use templating.
Objectives
==========
+- Enable the ``pyramid_chameleon`` Pyramid add-on
+
- Generate HTML from template files
- Connect the templates as "renderers" for view code
@@ -31,14 +37,31 @@ Objectives
Steps
=====
-#. Let's begin by using the previous package as a starting point for a new
- distribution, then making it active:
+#. Let's begin by using the previous package as a starting point for a
+ new project:
.. code-block:: bash
$ cd ..; cp -r views templating; cd templating
+
+#. This step depends on ``pyramid_chameleon``, so add it as a dependency
+ in ``templating/setup.py``:
+
+ .. literalinclude:: templating/setup.py
+ :linenos:
+
+#. Now we can activate the development-mode distribution:
+
+ .. code-block:: bash
+
$ $VENV/bin/python setup.py develop
+#. We need to connect ``pyramid_chameleon`` as a renderer by making a
+ call in the setup of ``templating/tutorial/__init__.py``:
+
+ .. literalinclude:: templating/tutorial/__init__.py
+ :linenos:
+
#. Our ``templating/tutorial/views.py`` no longer has HTML in it:
.. literalinclude:: templating/tutorial/views.py
@@ -86,8 +109,7 @@ Analysis
========
Ahh, that looks better. We have a view that is focused on Python code.
-Our ``@view_config`` decorator specifies a
-:term:`renderer` that points
+Our ``@view_config`` decorator specifies a :term:`renderer` that points
our template file. Our view then simply returns data which is then
supplied to our template. Note that we used the same template for both
views.
diff --git a/docs/quick_tutorial/templating/setup.py b/docs/quick_tutorial/templating/setup.py
index 9997984d3..2221b72e9 100644
--- a/docs/quick_tutorial/templating/setup.py
+++ b/docs/quick_tutorial/templating/setup.py
@@ -2,6 +2,7 @@ from setuptools import setup
requires = [
'pyramid',
+ 'pyramid_chameleon'
]
setup(name='tutorial',
diff --git a/docs/quick_tutorial/templating/tutorial/__init__.py b/docs/quick_tutorial/templating/tutorial/__init__.py
index 013d4538f..c3e1c9eef 100644
--- a/docs/quick_tutorial/templating/tutorial/__init__.py
+++ b/docs/quick_tutorial/templating/tutorial/__init__.py
@@ -3,6 +3,7 @@ from pyramid.config import Configurator
def main(global_config, **settings):
config = Configurator(settings=settings)
+ config.include('pyramid_chameleon')
config.add_route('home', '/')
config.add_route('hello', '/howdy')
config.scan('.views')
diff --git a/docs/quick_tutorial/view_classes/setup.py b/docs/quick_tutorial/view_classes/setup.py
index 9997984d3..2221b72e9 100644
--- a/docs/quick_tutorial/view_classes/setup.py
+++ b/docs/quick_tutorial/view_classes/setup.py
@@ -2,6 +2,7 @@ from setuptools import setup
requires = [
'pyramid',
+ 'pyramid_chameleon'
]
setup(name='tutorial',
diff --git a/docs/quick_tutorial/view_classes/tutorial/__init__.py b/docs/quick_tutorial/view_classes/tutorial/__init__.py
index 013d4538f..c3e1c9eef 100644
--- a/docs/quick_tutorial/view_classes/tutorial/__init__.py
+++ b/docs/quick_tutorial/view_classes/tutorial/__init__.py
@@ -3,6 +3,7 @@ from pyramid.config import Configurator
def main(global_config, **settings):
config = Configurator(settings=settings)
+ config.include('pyramid_chameleon')
config.add_route('home', '/')
config.add_route('hello', '/howdy')
config.scan('.views')
diff --git a/docs/quick_tutorial/views/tutorial/tests.py b/docs/quick_tutorial/views/tutorial/tests.py
index 464357051..f1757757c 100644
--- a/docs/quick_tutorial/views/tutorial/tests.py
+++ b/docs/quick_tutorial/views/tutorial/tests.py
@@ -16,7 +16,7 @@ class TutorialViewTests(unittest.TestCase):
request = testing.DummyRequest()
response = home(request)
self.assertEqual(response.status_code, 200)
- self.assertIn('Visit', response.body)
+ self.assertIn(b'Visit', response.body)
def test_hello(self):
from .views import hello
@@ -24,7 +24,7 @@ class TutorialViewTests(unittest.TestCase):
request = testing.DummyRequest()
response = hello(request)
self.assertEqual(response.status_code, 200)
- self.assertIn('Go back', response.body)
+ self.assertIn(b'Go back', response.body)
class TutorialFunctionalTests(unittest.TestCase):