\relax 
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax 
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\select@language{english}
\@writefile{toc}{\select@language{english}}
\@writefile{lof}{\select@language{english}}
\@writefile{lot}{\select@language{english}}
\newlabel{index::doc}{{}{1}{\relax }{section*.2}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{intro:introduction}{{1}{1}{Introduction\relax }{chapter.1}{}}
\newlabel{intro::doc}{{1}{1}{Introduction\relax }{chapter.1}{}}
\newlabel{intro:fantastico-framework}{{1}{1}{Introduction\relax }{chapter.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}Why another python framework?}{1}{section.1.1}}
\newlabel{intro:why-another-python-framework}{{1.1}{1}{Why another python framework?\relax }{section.1.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.1}What do you want to teach who?}{1}{subsection.1.1.1}}
\newlabel{intro:what-do-you-want-to-teach-who}{{1.1.1}{1}{What do you want to teach who?\relax }{subsection.1.1.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Fantastico's initial ideas}{1}{section.1.2}}
\newlabel{intro:fantastico-s-initial-ideas}{{1.2}{1}{Fantastico's initial ideas\relax }{section.1.2}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Getting started}{3}{chapter.2}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{get_started/getting_started:getting-started}{{2}{3}{Getting started\relax }{chapter.2}{}}
\newlabel{get_started/getting_started::doc}{{2}{3}{Getting started\relax }{chapter.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Installation manual}{3}{section.2.1}}
\newlabel{get_started/installation:installation-manual}{{2.1}{3}{Installation manual\relax }{section.2.1}{}}
\newlabel{get_started/installation::doc}{{2.1}{3}{Installation manual\relax }{section.2.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}Developing a new fantastico project}{3}{subsection.2.1.1}}
\newlabel{get_started/installation:developing-a-new-fantastico-project}{{2.1.1}{3}{Developing a new fantastico project\relax }{subsection.2.1.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}Contributing to fantastico framework}{3}{subsection.2.1.2}}
\newlabel{get_started/installation:contributing-to-fantastico-framework}{{2.1.2}{3}{Contributing to fantastico framework\relax }{subsection.2.1.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Fantastico settings}{4}{section.2.2}}
\newlabel{get_started/settings:fantastico-settings}{{2.2}{4}{Fantastico settings\relax }{section.2.2}{}}
\newlabel{get_started/settings::doc}{{2.2}{4}{Fantastico settings\relax }{section.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Settings API}{4}{subsection.2.2.1}}
\newlabel{get_started/settings:settings-api}{{2.2.1}{4}{Settings API\relax }{subsection.2.2.1}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings}{{2.2.1}{4}{Settings API\relax }{section*.3}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.database_config}{{2.2.1}{4}{Settings API\relax }{section*.4}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.dev_server_host}{{2.2.1}{5}{Settings API\relax }{section*.5}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.dev_server_port}{{2.2.1}{5}{Settings API\relax }{section*.6}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.installed_middleware}{{2.2.1}{5}{Settings API\relax }{section*.7}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.routes_loaders}{{2.2.1}{5}{Settings API\relax }{section*.8}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.supported_languages}{{2.2.1}{5}{Settings API\relax }{section*.9}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.templates_config}{{2.2.1}{5}{Settings API\relax }{section*.10}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}Create Dev configuration}{5}{subsection.2.2.2}}
\newlabel{get_started/settings:create-dev-configuration}{{2.2.2}{5}{Create Dev configuration\relax }{subsection.2.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.3}Using a specifc configuration}{5}{subsection.2.2.3}}
\newlabel{get_started/settings:using-a-specifc-configuration}{{2.2.3}{5}{Using a specifc configuration\relax }{subsection.2.2.3}{}}
\newlabel{get_started/settings:fantastico.settings.SettingsFacade}{{2.2.3}{5}{Using a specifc configuration\relax }{section*.11}{}}
\newlabel{get_started/settings:fantastico.settings.SettingsFacade.get}{{2.2.3}{5}{Using a specifc configuration\relax }{section*.12}{}}
\newlabel{get_started/settings:fantastico.settings.SettingsFacade.get_config}{{2.2.3}{6}{Using a specifc configuration\relax }{section*.13}{}}
\newlabel{get_started/settings:fantastico.settings.SettingsFacade.get_root_folder}{{2.2.3}{6}{Using a specifc configuration\relax }{section*.14}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Contribute}{6}{section.2.3}}
\newlabel{get_started/contribute:contribute}{{2.3}{6}{Contribute\relax }{section.2.3}{}}
\newlabel{get_started/contribute::doc}{{2.3}{6}{Contribute\relax }{section.2.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}Code contribution}{6}{subsection.2.3.1}}
\newlabel{get_started/contribute:code-contribution}{{2.3.1}{6}{Code contribution\relax }{subsection.2.3.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Writing unit tests}{6}{subsubsection*.15}}
\newlabel{get_started/contribute:writing-unit-tests}{{2.3.1}{6}{Writing unit tests\relax }{subsubsection*.15}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoUnitTestsCase}{{2.3.1}{6}{Writing unit tests\relax }{section*.16}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoUnitTestsCase._get_class_root_folder}{{2.3.1}{7}{Writing unit tests\relax }{section*.17}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoUnitTestsCase._get_root_folder}{{2.3.1}{7}{Writing unit tests\relax }{section*.18}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoUnitTestsCase.setup_once}{{2.3.1}{7}{Writing unit tests\relax }{section*.19}{}}
\@writefile{toc}{\contentsline {subsubsection}{Writing integration tests}{7}{subsubsection*.20}}
\newlabel{get_started/contribute:writing-integration-tests}{{2.3.1}{7}{Writing integration tests\relax }{subsubsection*.20}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoIntegrationTestCase}{{2.3.1}{7}{Writing integration tests\relax }{section*.21}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoIntegrationTestCase._envs}{{2.3.1}{7}{Writing integration tests\relax }{section*.22}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoIntegrationTestCase._restore_call_methods}{{2.3.1}{7}{Writing integration tests\relax }{section*.23}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoIntegrationTestCase._run_test_all_envs}{{2.3.1}{7}{Writing integration tests\relax }{section*.24}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoIntegrationTestCase._save_call_methods}{{2.3.1}{7}{Writing integration tests\relax }{section*.25}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoIntegrationTestCase.fantastico_cfg_os_key}{{2.3.1}{7}{Writing integration tests\relax }{section*.26}{}}
\newlabel{get_started/contribute:fantastico.server.tests.itest_dev_server.DevServerIntegration}{{2.3.1}{7}{Writing integration tests\relax }{section*.27}{}}
\newlabel{get_started/contribute:fantastico.server.tests.itest_dev_server.DevServerIntegration._check_server_started}{{2.3.1}{8}{Writing integration tests\relax }{section*.28}{}}
\newlabel{get_started/contribute:fantastico.server.tests.itest_dev_server.DevServerIntegration._get_server_base_url}{{2.3.1}{8}{Writing integration tests\relax }{section*.29}{}}
\newlabel{get_started/contribute:fantastico.server.tests.itest_dev_server.DevServerIntegration._run_test_against_dev_server}{{2.3.1}{8}{Writing integration tests\relax }{section*.30}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.4}Development mode}{8}{section.2.4}}
\newlabel{get_started/dev_mode::doc}{{2.4}{8}{Development mode\relax }{section.2.4}{}}
\newlabel{get_started/dev_mode:development-mode}{{2.4}{8}{Development mode\relax }{section.2.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.1}Hot deploy}{8}{subsection.2.4.1}}
\newlabel{get_started/dev_mode:hot-deploy}{{2.4.1}{8}{Hot deploy\relax }{subsection.2.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.2}API}{9}{subsection.2.4.2}}
\newlabel{get_started/dev_mode:api}{{2.4.2}{9}{API\relax }{subsection.2.4.2}{}}
\newlabel{get_started/dev_mode:fantastico.server.dev_server.DevServer}{{2.4.2}{9}{API\relax }{section*.31}{}}
\newlabel{get_started/dev_mode:fantastico.server.dev_server.DevServer.start}{{2.4.2}{9}{API\relax }{section*.32}{}}
\newlabel{get_started/dev_mode:fantastico.server.dev_server.DevServer.started}{{2.4.2}{9}{API\relax }{section*.33}{}}
\newlabel{get_started/dev_mode:fantastico.server.dev_server.DevServer.stop}{{2.4.2}{9}{API\relax }{section*.34}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.3}Database config}{9}{subsection.2.4.3}}
\newlabel{get_started/dev_mode:database-config}{{2.4.3}{9}{Database config\relax }{subsection.2.4.3}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Fantastico features}{11}{chapter.3}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{features/features::doc}{{3}{11}{Fantastico features\relax }{chapter.3}{}}
\newlabel{features/features:fantastico-features}{{3}{11}{Fantastico features\relax }{chapter.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Exceptions hierarchy}{11}{section.3.1}}
\newlabel{features/exceptions:exceptions-hierarchy}{{3.1}{11}{Exceptions hierarchy\relax }{section.3.1}{}}
\newlabel{features/exceptions::doc}{{3.1}{11}{Exceptions hierarchy\relax }{section.3.1}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoError}{{3.1}{11}{Exceptions hierarchy\relax }{section*.35}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoControllerInvalidError}{{3.1}{11}{Exceptions hierarchy\relax }{section*.36}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoClassNotFoundError}{{3.1}{11}{Exceptions hierarchy\relax }{section*.37}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoNotSupportedError}{{3.1}{11}{Exceptions hierarchy\relax }{section*.38}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoSettingNotFoundError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.39}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoDuplicateRouteError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.40}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoNoRoutesError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.41}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoRouteNotFoundError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.42}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoNoRequestError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.43}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoContentTypeError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.44}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoHttpVerbNotSupported}{{3.1}{12}{Exceptions hierarchy\relax }{section*.45}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoHttpVerbNotSupported.http_verb}{{3.1}{12}{Exceptions hierarchy\relax }{section*.46}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoTemplateNotFoundError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.47}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoIncompatibleClassError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.48}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoDbError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.49}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoDbNotFoundError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.50}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Request lifecycle}{12}{section.3.2}}
\newlabel{features/request_response:request-lifecycle}{{3.2}{12}{Request lifecycle\relax }{section.3.2}{}}
\newlabel{features/request_response::doc}{{3.2}{12}{Request lifecycle\relax }{section.3.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Request middleware}{13}{subsection.3.2.1}}
\newlabel{features/request_response:request-middleware}{{3.2.1}{13}{Request middleware\relax }{subsection.3.2.1}{}}
\newlabel{features/request_response:fantastico.middleware.request_middleware.RequestMiddleware}{{3.2.1}{13}{Request middleware\relax }{section*.51}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Request context}{13}{subsection.3.2.2}}
\newlabel{features/request_response:request-context}{{3.2.2}{13}{Request context\relax }{subsection.3.2.2}{}}
\newlabel{features/request_response:fantastico.middleware.request_context.RequestContext}{{3.2.2}{13}{Request context\relax }{section*.52}{}}
\newlabel{features/request_response:fantastico.middleware.request_context.RequestContext.language}{{3.2.2}{13}{Request context\relax }{section*.53}{}}
\newlabel{features/request_response:fantastico.middleware.request_context.RequestContext.settings}{{3.2.2}{13}{Request context\relax }{section*.54}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Obtain request language}{14}{subsection.3.2.3}}
\newlabel{features/request_response:obtain-request-language}{{3.2.3}{14}{Obtain request language\relax }{subsection.3.2.3}{}}
\newlabel{features/request_response:fantastico.locale.language.Language}{{3.2.3}{14}{Obtain request language\relax }{section*.55}{}}
\newlabel{features/request_response:fantastico.locale.language.Language.code}{{3.2.3}{14}{Obtain request language\relax }{section*.56}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}Obtain settings using request}{14}{subsection.3.2.4}}
\newlabel{features/request_response:obtain-settings-using-request}{{3.2.4}{14}{Obtain settings using request\relax }{subsection.3.2.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Routing engine}{15}{section.3.3}}
\newlabel{features/routing_engine:routing-engine}{{3.3}{15}{Routing engine\relax }{section.3.3}{}}
\newlabel{features/routing_engine::doc}{{3.3}{15}{Routing engine\relax }{section.3.3}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.router.Router}{{3.3}{15}{Routing engine\relax }{section*.57}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.router.Router.get_loaders}{{3.3}{15}{Routing engine\relax }{section*.58}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.router.Router.handle_route}{{3.3}{15}{Routing engine\relax }{section*.59}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.router.Router.register_routes}{{3.3}{15}{Routing engine\relax }{section*.60}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Routes loaders}{16}{subsection.3.3.1}}
\newlabel{features/routing_engine:routes-loaders}{{3.3.1}{16}{Routes loaders\relax }{subsection.3.3.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}How to write a new route loader}{16}{subsection.3.3.2}}
\newlabel{features/routing_engine:how-to-write-a-new-route-loader}{{3.3.2}{16}{How to write a new route loader\relax }{subsection.3.3.2}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.routing_loaders.RouteLoader}{{3.3.2}{16}{How to write a new route loader\relax }{section*.61}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.routing_loaders.RouteLoader.load_routes}{{3.3.2}{16}{How to write a new route loader\relax }{section*.62}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Configuring available loaders}{16}{subsection.3.3.3}}
\newlabel{features/routing_engine:configuring-available-loaders}{{3.3.3}{16}{Configuring available loaders\relax }{subsection.3.3.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.4}DummyRouteLoader}{17}{subsection.3.3.4}}
\newlabel{features/routing_engine:dummyrouteloader}{{3.3.4}{17}{DummyRouteLoader\relax }{subsection.3.3.4}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.dummy_routeloader.DummyRouteLoader}{{3.3.4}{17}{DummyRouteLoader\relax }{section*.63}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.dummy_routeloader.DummyRouteLoader.display_test}{{3.3.4}{17}{DummyRouteLoader\relax }{section*.64}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.5}Routing middleware}{17}{subsection.3.3.5}}
\newlabel{features/routing_engine:routing-middleware}{{3.3.5}{17}{Routing middleware\relax }{subsection.3.3.5}{}}
\newlabel{features/routing_engine:fantastico.middleware.routing_middleware.RoutingMiddleware}{{3.3.5}{17}{Routing middleware\relax }{section*.65}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.4}Model View Controller}{17}{section.3.4}}
\newlabel{features/mvc:model-view-controller}{{3.4}{17}{Model View Controller\relax }{section.3.4}{}}
\newlabel{features/mvc::doc}{{3.4}{17}{Model View Controller\relax }{section.3.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.1}Classic approach}{17}{subsection.3.4.1}}
\newlabel{features/mvc:classic-approach}{{3.4.1}{17}{Classic approach\relax }{subsection.3.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.2}Fantastico approach}{18}{subsection.3.4.2}}
\newlabel{features/mvc:fantastico-approach}{{3.4.2}{18}{Fantastico approach\relax }{subsection.3.4.2}{}}
\newlabel{features/mvc:fantastico.mvc.controller_decorators.Controller}{{3.4.2}{18}{Fantastico approach\relax }{section*.66}{}}
\newlabel{features/mvc:fantastico.mvc.controller_decorators.Controller.fn_handler}{{3.4.2}{19}{Fantastico approach\relax }{section*.67}{}}
\newlabel{features/mvc:fantastico.mvc.controller_decorators.Controller.get_registered_routes}{{3.4.2}{19}{Fantastico approach\relax }{section*.68}{}}
\newlabel{features/mvc:fantastico.mvc.controller_decorators.Controller.method}{{3.4.2}{19}{Fantastico approach\relax }{section*.69}{}}
\newlabel{features/mvc:fantastico.mvc.controller_decorators.Controller.models}{{3.4.2}{19}{Fantastico approach\relax }{section*.70}{}}
\newlabel{features/mvc:fantastico.mvc.controller_decorators.Controller.url}{{3.4.2}{19}{Fantastico approach\relax }{section*.71}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.3}Model}{19}{subsection.3.4.3}}
\newlabel{features/mvc:model}{{3.4.3}{19}{Model\relax }{subsection.3.4.3}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade}{{3.4.3}{20}{Model\relax }{section*.72}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.count_records}{{3.4.3}{20}{Model\relax }{section*.73}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.create}{{3.4.3}{20}{Model\relax }{section*.74}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.delete}{{3.4.3}{20}{Model\relax }{section*.75}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.find_by_pk}{{3.4.3}{21}{Model\relax }{section*.76}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.get_records_paged}{{3.4.3}{21}{Model\relax }{section*.77}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.model_cls}{{3.4.3}{22}{Model\relax }{section*.78}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.new_model}{{3.4.3}{22}{Model\relax }{section*.79}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.update}{{3.4.3}{22}{Model\relax }{section*.80}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.4}View}{23}{subsection.3.4.4}}
\newlabel{features/mvc:view}{{3.4.4}{23}{View\relax }{subsection.3.4.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.5}Controller}{23}{subsection.3.4.5}}
\newlabel{features/mvc:controller}{{3.4.5}{23}{Controller\relax }{subsection.3.4.5}{}}
\newlabel{features/mvc:core-controller-section}{{3.4.5}{23}{Controller\relax }{subsection.3.4.5}{}}
\newlabel{features/mvc:fantastico.mvc.controller_registrator.ControllerRouteLoader}{{3.4.5}{23}{Controller\relax }{section*.81}{}}
\newlabel{features/mvc:fantastico.mvc.controller_registrator.ControllerRouteLoader.load_routes}{{3.4.5}{23}{Controller\relax }{section*.82}{}}
\newlabel{features/mvc:fantastico.mvc.controller_registrator.ControllerRouteLoader.scanned_folder}{{3.4.5}{23}{Controller\relax }{section*.83}{}}
\newlabel{features/mvc:fantastico.mvc.base_controller.BaseController}{{3.4.5}{23}{Controller\relax }{section*.84}{}}
\newlabel{features/mvc:fantastico.mvc.base_controller.BaseController.get_component_folder}{{3.4.5}{23}{Controller\relax }{section*.85}{}}
\newlabel{features/mvc:fantastico.mvc.base_controller.BaseController.load_template}{{3.4.5}{23}{Controller\relax }{section*.86}{}}
\@writefile{toc}{\contentsline {subsubsection}{Available filters}{24}{subsubsection*.87}}
\newlabel{features/mvc:available-filters}{{3.4.5}{24}{Available filters\relax }{subsubsection*.87}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter_compound.ModelFilterCompound}{{3.4.5}{24}{Available filters\relax }{section*.88}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter_compound.ModelFilterCompound.build}{{3.4.5}{24}{Available filters\relax }{section*.89}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter_compound.ModelFilterCompound.get_expression}{{3.4.5}{24}{Available filters\relax }{section*.90}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilter}{{3.4.5}{24}{Available filters\relax }{section*.91}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilter.build}{{3.4.5}{24}{Available filters\relax }{section*.92}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilter.column}{{3.4.5}{24}{Available filters\relax }{section*.93}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilter.get_expression}{{3.4.5}{24}{Available filters\relax }{section*.94}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilter.get_supported_operations}{{3.4.5}{24}{Available filters\relax }{section*.95}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilter.operation}{{3.4.5}{24}{Available filters\relax }{section*.96}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilter.ref_value}{{3.4.5}{24}{Available filters\relax }{section*.97}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter_compound.ModelFilterAnd}{{3.4.5}{24}{Available filters\relax }{section*.98}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter_compound.ModelFilterOr}{{3.4.5}{25}{Available filters\relax }{section*.99}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_sort.ModelSort}{{3.4.5}{25}{Available filters\relax }{section*.100}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_sort.ModelSort.build}{{3.4.5}{25}{Available filters\relax }{section*.101}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_sort.ModelSort.column}{{3.4.5}{25}{Available filters\relax }{section*.102}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_sort.ModelSort.get_expression}{{3.4.5}{25}{Available filters\relax }{section*.103}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_sort.ModelSort.get_supported_sort_dirs}{{3.4.5}{25}{Available filters\relax }{section*.104}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_sort.ModelSort.sort_dir}{{3.4.5}{25}{Available filters\relax }{section*.105}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.6}Database session management}{25}{subsection.3.4.6}}
\newlabel{features/mvc:database-session-management}{{3.4.6}{25}{Database session management\relax }{subsection.3.4.6}{}}
\newlabel{features/mvc:fantastico.middleware.model_session_middleware.ModelSessionMiddleware}{{3.4.6}{25}{Database session management\relax }{section*.106}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.5}Component model}{26}{section.3.5}}
\newlabel{features/component_model::doc}{{3.5}{26}{Component model\relax }{section.3.5}{}}
\newlabel{features/component_model:component-model}{{3.5}{26}{Component model\relax }{section.3.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.1}Static folder}{26}{subsection.3.5.1}}
\newlabel{features/component_model:static-folder}{{3.5.1}{26}{Static folder\relax }{subsection.3.5.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.2}Sql folder}{26}{subsection.3.5.2}}
\newlabel{features/component_model:sql-folder}{{3.5.2}{26}{Sql folder\relax }{subsection.3.5.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Sql folder example}{26}{subsubsection*.107}}
\newlabel{features/component_model:sql-folder-example}{{3.5.2}{26}{Sql folder example\relax }{subsubsection*.107}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}How to articles}{29}{chapter.4}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{how_to/how_to:how-to-articles}{{4}{29}{How to articles\relax }{chapter.4}{}}
\newlabel{how_to/how_to::doc}{{4}{29}{How to articles\relax }{chapter.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}MVC How to}{29}{section.4.1}}
\newlabel{how_to/mvc_how_to::doc}{{4.1}{29}{MVC How to\relax }{section.4.1}{}}
\newlabel{how_to/mvc_how_to:mvc-how-to}{{4.1}{29}{MVC How to\relax }{section.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}Code the model}{29}{subsection.4.1.1}}
\newlabel{how_to/mvc_how_to:code-the-model}{{4.1.1}{29}{Code the model\relax }{subsection.4.1.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}Code the controller}{29}{subsection.4.1.2}}
\newlabel{how_to/mvc_how_to:code-the-controller}{{4.1.2}{29}{Code the controller\relax }{subsection.4.1.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.3}Code the view}{30}{subsection.4.1.3}}
\newlabel{how_to/mvc_how_to:code-the-view}{{4.1.3}{30}{Code the view\relax }{subsection.4.1.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.4}Test your application}{30}{subsection.4.1.4}}
\newlabel{how_to/mvc_how_to:test-your-application}{{4.1.4}{30}{Test your application\relax }{subsection.4.1.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Deployment how to}{30}{section.4.2}}
\newlabel{how_to/deployment_how_to::doc}{{4.2}{30}{Deployment how to\relax }{section.4.2}{}}
\newlabel{how_to/deployment_how_to:deployment-how-to}{{4.2}{30}{Deployment how to\relax }{section.4.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Low usage (simplest scenario)}{31}{subsection.4.2.1}}
\newlabel{how_to/deployment/low_usage_scenario::doc}{{4.2.1}{31}{Low usage (simplest scenario)\relax }{subsection.4.2.1}{}}
\newlabel{how_to/deployment/low_usage_scenario:low-usage-simplest-scenario}{{4.2.1}{31}{Low usage (simplest scenario)\relax }{subsection.4.2.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Setup}{32}{subsubsection*.108}}
\newlabel{how_to/deployment/low_usage_scenario:setup}{{4.2.1}{32}{Setup\relax }{subsubsection*.108}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Low usage AWS}{32}{subsection.4.2.2}}
\newlabel{how_to/deployment/aws_low_usage_scenario:low-usage-aws}{{4.2.2}{32}{Low usage AWS\relax }{subsection.4.2.2}{}}
\newlabel{how_to/deployment/aws_low_usage_scenario::doc}{{4.2.2}{32}{Low usage AWS\relax }{subsection.4.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Setup}{33}{subsubsection*.109}}
\newlabel{how_to/deployment/aws_low_usage_scenario:setup}{{4.2.2}{33}{Setup\relax }{subsubsection*.109}{}}
\@writefile{toc}{\contentsline {subsubsection}{Optimization}{33}{subsubsection*.110}}
\newlabel{how_to/deployment/aws_low_usage_scenario:optimization}{{4.2.2}{33}{Optimization\relax }{subsubsection*.110}{}}
\@writefile{toc}{\contentsline {subsubsection}{Setup with S3}{34}{subsubsection*.111}}
\newlabel{how_to/deployment/aws_low_usage_scenario:setup-with-s3}{{4.2.2}{34}{Setup with S3\relax }{subsubsection*.111}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.3}Static assets}{34}{section.4.3}}
\newlabel{how_to/static_assets:static-assets}{{4.3}{34}{Static assets\relax }{section.4.3}{}}
\newlabel{how_to/static_assets::doc}{{4.3}{34}{Static assets\relax }{section.4.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}Static assets on dev}{34}{subsection.4.3.1}}
\newlabel{how_to/static_assets:static-assets-on-dev}{{4.3.1}{34}{Static assets on dev\relax }{subsection.4.3.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Favicon}{35}{subsubsection*.112}}
\newlabel{how_to/static_assets:favicon}{{4.3.1}{35}{Favicon\relax }{subsubsection*.112}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}Static assets on prod}{35}{subsection.4.3.2}}
\newlabel{how_to/static_assets:static-assets-on-prod}{{4.3.2}{35}{Static assets on prod\relax }{subsection.4.3.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.4}Creating a new project}{35}{section.4.4}}
\newlabel{how_to/new_project_how_to:creating-a-new-project}{{4.4}{35}{Creating a new project\relax }{section.4.4}{}}
\newlabel{how_to/new_project_how_to::doc}{{4.4}{35}{Creating a new project\relax }{section.4.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.1}Create first component}{35}{subsection.4.4.1}}
\newlabel{how_to/new_project_how_to:create-first-component}{{4.4.1}{35}{Create first component\relax }{subsection.4.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.2}Customize dev server}{36}{subsection.4.4.2}}
\newlabel{how_to/new_project_how_to:customize-dev-server}{{4.4.2}{36}{Customize dev server\relax }{subsection.4.4.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.3}Customize uwsgi prod server}{36}{subsection.4.4.3}}
\newlabel{how_to/new_project_how_to:customize-uwsgi-prod-server}{{4.4.3}{36}{Customize uwsgi prod server\relax }{subsection.4.4.3}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Changes}{37}{chapter.5}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{changes:changes}{{5}{37}{Changes\relax }{chapter.5}{}}
\newlabel{changes::doc}{{5}{37}{Changes\relax }{chapter.5}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {6}Build status}{39}{chapter.6}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:build-status}{{6}{39}{Build status\relax }{chapter.6}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {7}License}{41}{chapter.7}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:license}{{7}{41}{License\relax }{chapter.7}{}}
\@writefile{toc}{\contentsline {chapter}{Index}{43}{section*.113}}
