FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
fullstackpython.github.com/pages/web-framework.html at gh-pages · rlaszlo/fullstackpython.github.com · GitHub
rlaszlo
/
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
/
pages
/
web-framework.html
Copy path
More file actions
More file actions
Latest commit
History
History
History
114 lines (104 loc) · 5.43 KB
Breadcrumbs
fullstackpython.github.com
/
pages
/
web-framework.html
Copy path
File metadata and controls
114 lines (104 loc) · 5.43 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
<!doctype html
>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!-->
<
html
class
="
no-js
"
lang
="
en
"
>
<!--<![endif]-->
<
head
>
<
meta
charset
="
utf-8
"
>
<
meta
name
="
language
"
content
="
English
"
/>
<
meta
http-equiv
="
X-UA-Compatible
"
content
="
IE=edge,chrome=1
"
>
<
title
>
Full Stack Python
</
title
>
<
meta
name
="
description
"
content
="
Full stack Python shows how an entire Python web application is built, from the server to the front end JavaScript.
"
>
<
meta
name
="
author
"
content
="
Matt Makai
"
>
<
meta
name
="
viewport
"
content
="
width=device-width,initial-scale=1
"
>
<
link
rel
="
stylesheet
"
href
="
/css/c.css
"
/>
<
link
rel
="
stylesheet
"
href
="
/css/bootstrap-responsive.min.css
"
/>
<
script
src
="
/js/modernizr-2.0.6.min.js
"
>
</
script
>
<
script
type
="
text/javascript
"
>
var
_gaq
=
_gaq
||
[
]
;
_gaq
.
push
(
[
'_setAccount'
,
'UA-19910497-7'
]
)
;
_gaq
.
push
(
[
'_trackPageview'
]
)
;
(
function
(
)
{
var
ga
=
document
.
createElement
(
'script'
)
;
ga
.
type
=
'text/javascript'
;
ga
.
async
=
true
;
ga
.
src
=
(
'https:'
==
document
.
location
.
protocol
?
'https://ssl'
:
'http://www'
)
+
'.google-analytics.com/ga.js'
;
var
s
=
document
.
getElementsByTagName
(
'script'
)
[
0
]
;
s
.
parentNode
.
insertBefore
(
ga
,
s
)
;
}
)
(
)
;
</
script
>
</
head
>
<
body
>
<
a
href
="
https://github.com/makaimc/fullstackpython.github.com
"
class
="
github
"
>
<
img
style
="
position: absolute; top: 0; right: 0; border: 0;
"
src
="
http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png
"
alt
="
Fork me on GitHub
"
/>
</
a
>
<
div
class
="
container
"
>
<
div
class
="
row
"
>
<
div
class
="
span12
"
>
<
div
class
="
logo-header-section
"
>
<
a
href
="
/
"
>
<
img
src
="
../img/full-stack-python-logo-bw.png
"
height
="
42
"
width
="
42
"
class
="
logo-image
"
/>
</
a
>
<
span
class
="
logo-title
"
>
<
a
href
="
/
"
>
Full Stack Python
</
a
>
</
span
>
</
div
>
</
div
>
</
div
>
<
h1
>
Web Framework
</
h1
>
<
p
>
A web application framework is a collection of libraries that
provide functionality to accomplish common operations for the web. These
common operations include:
</
p
>
<
ol
class
="
arabic simple
"
>
<
li
>
URL routing
</
li
>
<
li
>
HTML, XML, JSON, and other output format templating
</
li
>
<
li
>
Database manipulation
</
li
>
<
li
>
Security against Cross-site request forgery (CSRF) and other attacks
</
li
>
</
ol
>
<
p
>
Not all web frameworks include functionality for all of the above
functionality. Frameworks fall somewhere between simply executing a
single use case and attempting to be everything to every developer with
increased complexity.
</
p
>
<
p
>
For example, the Django web application framework includes an
Object-Relational Mapping (ORM) layer that abstracts relational database
read, write, query, and delete operations. However, Django's ORM
does not work (without modification) on non-relational databases such
<
a
class
="
reference external
"
href
="
http://www.mongodb.org/
"
>
MongoDB
</
a
>
and
<
a
class
="
reference external
"
href
="
http://docs.basho.com/
"
>
Riak
</
a
>
.
Other web frameworks such as Flask and Pyramid are generally easier to
use with non-relational databases by incorporating external Python libraries.
</
p
>
<
div
class
="
section
"
id
="
web-framework-monitoring
"
>
<
h2
>
Web Framework Monitoring
</
h2
>
<
p
>
Logging is a common mechanism for monitoring web applications written with a
web framework. Runtime exceptions that prevent code from running are
important to log to investigate and fix the source of the problems.
Informational and debugging logging also helps to understand how the
application is performing even if code is working as intended.
</
p
>
<
p
>
Logging is often grouped into several categories:
</
p
>
<
ol
class
="
arabic simple
"
>
<
li
>
Information
</
li
>
<
li
>
Debug
</
li
>
<
li
>
Warning
</
li
>
<
li
>
Error
</
li
>
</
ol
>
<
p
>
Logging errors that occur while a web framework is running is crucial to
understanding how your application is performing.
<
a
class
="
reference external
"
href
="
http://raven.readthedocs.org/en/latest/
"
>
Raven
</
a
>
is a Python client for the
<
a
class
="
reference external
"
href
="
https://github.com/getsentry/sentry
"
>
Sentry
</
a
>
exception logging and
aggregation application. Raven provides the way to send exceptions to
Sentry, which should be deployed on a separate server from your production
infrastructure. Raven can also be used by Python scripts to send other
log data to Sentry for aggregation. Sentry provides a clean web application
interface for viewing the exceptions. Sentry can also be configured with a
mail plugin to send emails when exceptions occur.
</
p
>
</
div
>
<
div
class
="
section
"
id
="
web-framework-resources
"
>
<
h2
>
Web Framework Resources
</
h2
>
<
p
>
<
a
class
="
reference external
"
href
="
http://www.djangoproject.com/
"
>
Django
</
a
>
,
<
a
class
="
reference external
"
href
="
http://flask.pocoo.org/
"
>
Flask
</
a
>
,
<
a
class
="
reference external
"
href
="
http://bottlepy.org/docs/dev/
"
>
Bottle
</
a
>
,
<
a
class
="
reference external
"
href
="
http://www.pylonsproject.org/
"
>
Pyramid
</
a
>
, and
<
a
class
="
reference external
"
href
="
http://webpy.org/
"
>
web.py
</
a
>
are the most common Python web frameworks.
</
p
>
</
div
>
<
hr
/>
<
div
class
="
footer pull-right
"
>
<
a
href
="
http://www.mattmakai.com/
"
class
="
underline
"
>
Matt Makai
</
a
>
2013
</
div
>
</
div
>
<
script
src
="
http://code.jquery.com/jquery-latest.js
"
>
</
script
>
<
script
src
="
/js/bootstrap.min.js
"
>
</
script
>
</
body
>
</
html
>
Back
|
FazBrowse Home
|
New Git URL