FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
fullstackpython.github.com/morepath.html at gh-pages · Intellifora/fullstackpython.github.com · GitHub
Intellifora
/
fullstackpython.github.com
Public
forked from
mattmakai/fullstackpython.com
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
fullstackpython.github.com
/
morepath.html
Copy path
More file actions
More file actions
Latest commit
History
History
History
202 lines (192 loc) · 14.9 KB
Breadcrumbs
fullstackpython.github.com
/
morepath.html
Copy path
File metadata and controls
202 lines (192 loc) · 14.9 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
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
148
149
150
151
152
153
154
155
156
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
<!DOCTYPE html
>
<
html
lang
="
en
"
>
<
head
>
<
meta
http-equiv
="
Content-Type
"
content
="
text/html; charset=UTF-8
"
>
<
meta
charset
="
utf-8
"
>
<
meta
http-equiv
="
X-UA-Compatible
"
content
="
IE=edge
"
>
<
meta
name
="
viewport
"
content
="
width=device-width, initial-scale=1.0
"
>
<
meta
name
="
author
"
content
="
Matt Makai
"
>
<
meta
name
="
description
"
content
="
Morepath is a Python web framework with a model-driven design approach. Learn more about Morepath on Full Stack Python.
"
>
<
link
rel
="
shortcut icon
"
href
="
theme/img/fsp-fav.png
"
>
<
title
>
Morepath - Full Stack Python
</
title
>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
<
link
href
="
theme/css/f.min.css
"
rel
="
stylesheet
"
>
<
link
href
="
//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.css
"
rel
="
stylesheet
"
>
<
style
>
.
toc-indent
{
padding-left
:
25
px
;
padding-bottom
:
1
px
;}
.
toc-more-indent
{
padding-left
:
37
px
;
padding-bottom
:
1
px
;}
</
style
>
<
script
>
(
function
(
i
,
s
,
o
,
g
,
r
,
a
,
m
)
{
i
[
'GoogleAnalyticsObject'
]
=
r
;
i
[
r
]
=
i
[
r
]
||
function
(
)
{
(
i
[
r
]
.
q
=
i
[
r
]
.
q
||
[
]
)
.
push
(
arguments
)
}
,
i
[
r
]
.
l
=
1
*
new
Date
(
)
;
a
=
s
.
createElement
(
o
)
,
m
=
s
.
getElementsByTagName
(
o
)
[
0
]
;
a
.
async
=
1
;
a
.
src
=
g
;
m
.
parentNode
.
insertBefore
(
a
,
m
)
}
)
(
window
,
document
,
'script'
,
'//www.google-analytics.com/analytics.js'
,
'ga'
)
;
ga
(
'create'
,
'UA-19910497-7'
,
'auto'
)
;
ga
(
'send'
,
'pageview'
)
;
</
script
>
</
head
>
<
body
>
<
a
href
="
https://github.com/makaimc/fullstackpython.github.com
"
>
<
img
style
="
position: absolute; top: 0; right: 0; border: 0;
"
src
="
https://camo.githubusercontent.com/a6677b08c955af8400f44c6298f40e7d19cc5b2d/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f677261795f3664366436642e706e67
"
alt
="
Fork me on GitHub
"
data-canonical-src
="
https://s3.amazonaws.com/github/ribbons/forkme_right_gray_6d6d6d.png
"
>
</
a
>
<
div
class
="
container
"
>
<
div
class
="
row
"
>
<
div
class
="
col-md-12
"
>
<
div
class
="
logo-header-section
"
>
<
a
href
="
/
"
style
="
text-decoration: none; border: none;
"
>
<
img
src
="
theme/img/fsp-logo.png
"
height
="
52
"
width
="
52
"
class
="
logo-image
"
style
="
padding-top: 1px;
"
alt
="
Full Stack Python logo
"
>
</
a
>
<
span
class
="
logo-title
"
>
<
a
href
="
/
"
>
Full Stack Python
</
a
>
</
span
>
</
div
>
</
div
>
</
div
>
<
div
class
="
row
"
>
<
div
class
="
col-md-8
"
>
<
h2
>
Morepath
</
h2
>
<
p
>
<
a
href
="
http://morepath.readthedocs.org/en/latest/
"
>
Morepath
</
a
>
is a micro web
framework with a model-driven approach to creating web applications and web
APIs.
</
p
>
<
p
>
Morepath's framework philosophy is that the data models should drive the
creation via the web framework. By default the framework routes URLs directly
to model code, unlike for example Django which requires explicit URL routing
by the developer.
</
p
>
<
h2
>
Why is Morepath an interesting web framework?
</
h2
>
<
p
>
Simple
<
a
href
="
http://en.wikipedia.org/wiki/Create,_read,_update_and_delete
"
>
CRUD web applications and APIs
</
a
>
can be tedious to build when they are driven straight from data models without
much logic between the model and the view.
</
p
>
<
p
>
With the rise of front end JavaScript frameworks, many Python web frameworks
are first being used to build
<
a
href
="
/application-programming-interfaces.html
"
>
RESTful APIs
</
a
>
that return JSON
instead rendering HTML via a templating system. Morepath appears to have
been created with the RESTful API model approach in mind and cuts out the
assumption that templates will drive the user interface.
</
p
>
<
h3
>
Morepath resources
</
h3
>
<
ul
>
<
li
>
<
p
>
<
a
href
="
http://blog.startifact.com/posts/on-the-morepath.html
"
>
On the Morepath
</
a
>
is a blog post by Startifact on how they use Morepath and some of the
features of the framework.
</
p
>
</
li
>
<
li
>
<
p
>
Morepath's creator gave a
<
a
href
="
https://www.youtube.com/watch?v=gyDKMAWPyuY
"
>
great talk on the motivation and structure for the new framework
</
a
>
at EuroPython 2014.
</
p
>
</
li
>
</
ul
>
<
h3
>
Do you want to learn more about frameworks or web APIs?
</
h3
>
<
div
class
="
row
"
>
<
div
class
="
col-md-4
"
>
<
div
class
="
well select-next
"
>
<
a
href
="
/web-frameworks.html
"
class
="
btn btn-success btn-full
"
>
<
i
class
="
fa fa-code fa-2x
"
>
</
i
>
</
a
>
<
p
class
="
under-btn
"
>
Show me more about web frameworks in general.
</
p
>
</
div
>
</
div
>
<
div
class
="
col-md-4
"
>
<
div
class
="
well select-next
"
>
<
a
href
="
/other-web-frameworks.html
"
class
="
btn btn-success btn-full
"
>
<
i
class
="
fa fa-question fa-inverse fa-2x
"
>
</
i
>
</
a
>
</
a
>
<
p
class
="
under-btn
"
>
What other Python web frameworks exist?
</
p
>
</
div
>
</
div
>
<
div
class
="
col-md-4
"
>
<
div
class
="
well select-next
"
>
<
a
href
="
/application-programming-interfaces.html
"
class
="
btn btn-success btn-full
"
>
<
i
class
="
fa fa-exchange fa-2x
"
>
</
i
>
</
a
>
<
p
class
="
under-btn
"
>
Tell me more about web APIs.
</
p
>
</
div
>
</
div
>
</
div
>
<
div
id
="
mc_embed_signup
"
>
<
form
action
="
//mattmakai.us2.list-manage.com/subscribe/post?u=b7e774f0c4f05dcebbfee183d&id=b22335388d
"
method
="
post
"
id
="
mc-embedded-subscribe-form
"
name
="
mc-embedded-subscribe-form
"
class
="
validate
"
target
="
_blank
"
novalidate
>
<
div
id
="
mc_embed_signup_scroll
"
>
<
h4
>
Sign up here to receive an email with major updates to this site and Python tutorials delivered to your inbox once a month.
</
h4
>
<
div
class
="
row
"
>
<
div
class
="
col-md-9
"
>
<
input
type
="
email
"
value
=""
name
="
EMAIL
"
class
="
email form-control
"
id
="
mce-EMAIL
"
placeholder
="
email address
"
required
>
<
div
style
="
position: absolute; left: -5000px;
"
>
<
input
type
="
text
"
name
="
b_b7e774f0c4f05dcebbfee183d_b22335388d
"
tabindex
="
-1
"
value
=""
>
</
div
>
</
div
>
<
div
class
="
col-md-3
"
>
<
div
class
="
clear
"
>
<
input
type
="
submit
"
value
="
Subscribe
"
name
="
subscribe
"
id
="
mc-embedded-subscribe
"
class
="
btn btn-success
"
style
="
font-family: 'Helvetica Neue';
"
>
</
div
>
</
div
>
</
div
>
</
div
>
</
form
>
</
div
>
</
div
>
<
div
class
="
col-md-offset-1 col-md-3
"
id
="
sidebar
"
>
<
div
class
="
panel panel-success
"
>
<
div
class
="
panel-heading
"
>
<
h3
class
="
panel-head
"
>
<
a
href
="
/table-of-contents.html
"
style
="
color: #fff;
"
>
Table of Contents
</
a
>
</
h3
>
</
div
>
<
div
class
="
list-group
"
>
<
a
href
="
/introduction.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Introduction
</
a
>
<
a
href
="
/why-use-python.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Why Use Python?
</
a
>
<
a
href
="
/best-python-resources.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Best Python Resources
</
a
>
<
a
href
="
/best-python-videos.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Best Python Videos
</
a
>
<
a
href
="
/development-environments.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Development Environments
</
a
>
<
a
href
="
/vim.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Vim
</
a
>
<
a
href
="
/emacs.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Emacs
</
a
>
<
a
href
="
/generators.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Generators
</
a
>
<
a
href
="
/comprehensions.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Comprehensions
</
a
>
<
a
href
="
/web-frameworks.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Web Frameworks
</
a
>
<
a
href
="
/django.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Django
</
a
>
<
a
href
="
/flask.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Flask
</
a
>
<
a
href
="
/bottle.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Bottle
</
a
>
<
a
href
="
/pyramid.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Pyramid
</
a
>
<
a
href
="
/morepath.html
"
class
="
list-group-item smaller-item active
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Morepath
</
a
>
<
a
href
="
/other-web-frameworks.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Other Web Frameworks
</
a
>
<
a
href
="
/web-design.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Web Design
</
a
>
<
a
href
="
/cascading-style-sheets.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Cascading Style Sheets
</
a
>
<
a
href
="
/javascript.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
JavaScript
</
a
>
<
a
href
="
/websockets.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
WebSockets
</
a
>
<
a
href
="
/web-application-security.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Web Application Security
</
a
>
<
a
href
="
/databases.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Databases
</
a
>
<
a
href
="
/no-sql-datastore.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
NoSQL Data Stores
</
a
>
<
a
href
="
/application-programming-interfaces.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Application Programming Interfaces
</
a
>
<
a
href
="
/api-integration.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
API Integration
</
a
>
<
a
href
="
/api-creation.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
API Creation
</
a
>
<
a
href
="
/deployment.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Deployment
</
a
>
<
a
href
="
/servers.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Servers
</
a
>
<
a
href
="
/platform-as-a-service.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Platform-as-a-service
</
a
>
<
a
href
="
/operating-systems.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Operating Systems
</
a
>
<
a
href
="
/web-servers.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Web Servers
</
a
>
<
a
href
="
/wsgi-servers.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
WSGI Servers
</
a
>
<
a
href
="
/source-control.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Source Control
</
a
>
<
a
href
="
/application-dependencies.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Application Dependencies
</
a
>
<
a
href
="
/static-content.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Static Content
</
a
>
<
a
href
="
/task-queues.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Task Queues
</
a
>
<
a
href
="
/configuration-management.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Configuration Management
</
a
>
<
a
href
="
/continuous-integration.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Continuous Integration
</
a
>
<
a
href
="
/logging.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Logging
</
a
>
<
a
href
="
/monitoring.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Monitoring
</
a
>
<
a
href
="
/web-analytics.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Web Analytics
</
a
>
<
a
href
="
/docker.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Docker
</
a
>
<
a
href
="
/caching.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Caching
</
a
>
<
a
href
="
/code-metrics.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Code Metrics
</
a
>
<
a
href
="
/what-full-stack-means.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
What "Full Stack" Means
</
a
>
<
a
href
="
/change-log.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Change Log
</
a
>
<
a
href
="
/future-directions.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
Future Directions
</
a
>
<
a
href
="
/about-author.html
"
class
="
list-group-item smaller-item
"
style
='
font-family: "Helvetica Neue",sans-serif;
'
>
About the Author
</
a
>
</
div
>
</
div
>
<
div
class
="
panel panel-success
"
>
<
div
class
="
panel-heading
"
>
<
h3
class
="
panel-head
"
>
Morepath
</
h3
>
</
div
>
<
div
class
="
panel-body
"
>
Major updates are tweeted via
<
a
href
="
https://twitter.com/fullstackpython
"
>
@fullstackpython
</
a
>
.
<
hr
/>
Need more detailed tutorials than you see here?
<
a
href
="
/email.html
"
>
Sign up to receive an email when that content is created.
</
a
>
</
div
>
</
div
>
</
div
>
</
div
>
<
hr
/>
<
div
class
="
footer pull-right
"
>
<
a
href
="
http://www.mattmakai.com/
"
class
="
underline
"
>
Matt Makai
</
a
>
2015
</
div
>
</
div
>
<
script
type
='
text/javascript
'
>
var
trackOutboundLink
=
function
(
url
)
{
ga
(
'send'
,
'event'
,
'outbound'
,
'click'
,
url
,
{
'hitCallback'
:
function
(
)
{
document
.
location
=
url
;
}
}
)
;
}
</
script
>
</
body
>
</
html
>
Back
|
FazBrowse Home
|
New Git URL