Just to be clear, all of these things suck. Please DO NOT use these techniques! It was a joke, and if you attempt any of these things you are making a big mistake.
3. Django Worst Practices
Whole
project in
one app
All your stuff in one place!
Tuesday, April 19, 2011
4. Django Worst Practices
Whole
project in
one app
All your stuff in one place!
No need to worry about bugfixes or enhancements!
Tuesday, April 19, 2011
5. Django Worst Practices
pydanny: pwd
/Users/pydanny/projects/enterprise/settings
pydanny: ls -l
total 24
-rw-r--r-- 1 pydanny staff 0 Apr 18 22:38 __init__.py
lrwxr-xr-x 1 pydanny staff 21 Apr 18 22:42 dev.py -> /Users/pydanny/dev.py
lrwxr-xr-x 1 pydanny staff 22 Apr 18 22:42 prod.py -> /Users/pydanny/prod.py
lrwxr-xr-x 1 pydanny staff 25 Apr 18 22:42 staging.py -> /Users/pydanny/staging.py
Symlink your settings folder!
Cause you’ll remember to do this with each server setup...
Tuesday, April 19, 2011
7. Django Worst Practices
Database Choices
• Use a relational database to store ill-
defined hierarchical data!
Tuesday, April 19, 2011
8. Django Worst Practices
Database Choices
• Use a relational database to store ill-
defined hierarchical data!
• Use NoSQL to store tabular data!
Tuesday, April 19, 2011
9. Django Worst Practices
<%python scope="global">
# declare global variables, accessible
# across this component's generated module
message1 = "this is message one."
message2 = "this is message two."
message3 = "doh, im message three."
</%python>
<%python>
# reference the global variables
m.write("message one: " + message1)
m.write("message two: " + message2)
# we want to assign to message3,
# so declare "global" first
global message3
message3 = "this is message three."
m.write("message three: " + message3)
</%python>
Tuesday, April 19, 2011
10. Django Worst Practices
<%python scope="global">
# declare global variables, accessible
# across this component's generated module
message1 = "this is message one."
message2 = "this is message two."
message3 = "doh, im message three."
</%python>
<%python>
# reference the global variables
m.write("message one: " + message1)
m.write("message two: " + message2)
# we want to assign to message3,
# so declare "global" first
global message3
message3 = "this is message three."
m.write("message three: " + message3)
</%python>
Who needs caching?
Tuesday, April 19, 2011
11. Django Worst Practices
<%python scope="global">
# declare global variables, accessible
# across this component's generated module
message1 = "this is message one."
message2 = "this is message two."
message3 = "doh, im message three."
</%python>
<%python>
# reference the global variables
m.write("message one: " + message1)
m.write("message two: " + message2)
# we want to assign to message3,
# so declare "global" first
global message3
message3 = "this is message three."
m.write("message three: " + message3)
</%python>
Who needs caching?
Performance awesomeness!
Tuesday, April 19, 2011
12. Django Worst Practices
<%python scope="global">
# declare global variables, accessible
# across this component's generated module
message1 = "this is message one."
message2 = "this is message two."
message3 = "doh, im message three."
</%python>
<%python>
# reference the global variables
m.write("message one: " + message1)
m.write("message two: " + message2)
# we want to assign to message3,
# so declare "global" first
global message3
message3 = "this is message three."
m.write("message three: " + message3)
</%python>
Who needs caching?
Performance awesomeness!
Replaces pesky django templates!
Tuesday, April 19, 2011
13. Django Worst Practices
<%python scope="global">
# declare global variables, accessible
# across this component's generated module
message1 = "this is message one."
message2 = "this is message two."
message3 = "doh, im message three."
</%python>
<%python>
# reference the global variables
m.write("message one: " + message1)
m.write("message two: " + message2)
# we want to assign to message3,
# so declare "global" first
global message3
message3 = "this is message three."
m.write("message three: " + message3)
</%python>
Who needs caching?
Performance awesomeness!
Replaces pesky django templates!
Tuesday, April 19, 2011