diff options
| author | Paul Everitt <paul@agendaless.com> | 2013-09-25 12:08:33 -0400 |
|---|---|---|
| committer | Paul Everitt <paul@agendaless.com> | 2013-09-25 12:08:33 -0400 |
| commit | 34e974e360184baef873da55f31379697e367f32 (patch) | |
| tree | a1bfd80a83566c5b9500cd6754599e055cfbb458 /docs/quick_tutorial | |
| parent | 94e72c2fe1ca6acc1dc50ab8c0da48e0e191b4df (diff) | |
| download | pyramid-34e974e360184baef873da55f31379697e367f32.tar.gz pyramid-34e974e360184baef873da55f31379697e367f32.tar.bz2 pyramid-34e974e360184baef873da55f31379697e367f32.zip | |
Get pyramid_chameleon added to the quick tutorial, plus some other fixes for Python 3.
Diffstat (limited to 'docs/quick_tutorial')
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">© 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): |
