Django Girls Mbale [victor's sessions]
-
Upload
victor-miclovich -
Category
Education
-
view
164 -
download
0
description
Transcript of Django Girls Mbale [victor's sessions]
![Page 1: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/1.jpg)
Django victor.miclo.kisi
![Page 2: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/2.jpg)
MTV??
![Page 3: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/3.jpg)
Model
![Page 4: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/4.jpg)
Template
![Page 5: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/5.jpg)
View
![Page 6: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/6.jpg)
views.pydef some_view(request):
return render_to_response(“path/to/template.html”, {}, RequestContext(request))
![Page 7: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/7.jpg)
HTML<html>
<head>
<title>Hello world</title>
</head>
<body>
<p>Hi</p>
</body>
</html>
![Page 8: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/8.jpg)
Tags in HTML
● Paragraphs● Headers● Divs● Section● asection● etc.● See W3C tutorials and plenty of Online
tutorials
![Page 9: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/9.jpg)
`style.css`
p{ color: red;}
CSS (Cascading Style Sheets)
![Page 10: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/10.jpg)
CSS (Cascading Style Sheets)
`style.css`
.food_section{ color: red;}
![Page 11: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/11.jpg)
CSS (Cascading Style Sheets)
`style.css`
#food_section{ color: red;}
![Page 12: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/12.jpg)
`http://getbootstrap.com`
<head>
<link rel=”styleshet” href=”path/to/bootstrap.css”>
</head>
<body>
...some code…
<script src=”path/to/bootstrap.js”></script>
Bootstrap
![Page 13: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/13.jpg)
`http://www.google.com/fonts`
<head>
<link rel=”styleshet” href=”path/to/bootstrap.css”>
<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
</head>
<body>...</body>
Google Fonts
![Page 14: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/14.jpg)
URLs..
What is URL?
![Page 15: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/15.jpg)
URLs..
Maps your “view functions” to a URL.
● someone visits a URL● URL tells django what to do● Django returns a set of HTML (templates)
![Page 16: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/16.jpg)
Templates [part 1]
Just HTML… take it EASY!
![Page 17: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/17.jpg)
Templatesmysite
⇒ mysite
===> templates/mysite
===> [other folders]
⇒ app1
===> templates/app1
===> [other folders]
⇒ app2
===> templates/app2
===> [other folders]
![Page 18: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/18.jpg)
forms [Non-model based]
● Create `forms.py` in your Django Application
● import the Form class
● define what you’ll collect
![Page 19: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/19.jpg)
from django import forms
class MessageForm(forms.Form):
number = forms.CharField()
text = forms.CharField()
forms [Non-model based]
![Page 20: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/20.jpg)
from form import MessageForm
def new_message(request):
form = MessageForm()
if request.method == “POST”:
form = MessageForm(request.POST)
if form.valid():
form.save() # save
else:
pass # handle errors!
return render_to_response(‘messages/new.html’, {‘form’:form}, RequestContext(request))
Hooking up forms in Views
![Page 21: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/21.jpg)
Shortcuts!!!
![Page 22: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/22.jpg)
forms [Model based]
● Create `forms.py` in your Django Application
● import the Form class
● define what you’ll collect
![Page 23: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/23.jpg)
from django import forms
from .models import Message
class MessageForm(forms.ModelForm):
model = Message
forms [Model based]
![Page 24: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/24.jpg)
from form import MessageForm
def new_message(request):
form = MessageForm()
if request.method == “POST”:
form = MessageForm(request.POST)
if form.valid():
form.save() # save
else:
pass # handle errors!
return render_to_response(‘messages/new.html’, {‘form’:form}, RequestContext(request))
Hooking up forms in Views (similar)
![Page 25: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/25.jpg)
<form
Hooking up forms in HTML
![Page 26: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/26.jpg)
Some advanced topics...
![Page 27: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/27.jpg)
Template inheritanceBase HTML filee.g. base.html
Profile page
e.g. profile.html
Messages page
e.g. messages.html
![Page 28: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/28.jpg)
Template inheritanceBase HTML filee.g. base.html
Profile page
e.g. profile.html
Messages page
e.g. messages.html
Base HTML has your site-wide designs and you don’t have to repeat the design on different pages.
![Page 29: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/29.jpg)
Template inheritanceBase HTML filee.g. base.html
code sample...
<html><head><!-- CSS or js here --></head><body>{% block content %}{% endblock %}</body>
</html>
![Page 30: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/30.jpg)
{% extends “base.html” %}{% block content %}
<div>Hi {{ name }}. You are seeing your profile.</div>
{% endblock %}
Template inheritanceProfile pagee.g. profiles.html
code sample...
![Page 31: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/31.jpg)
What next…?
![Page 32: Django Girls Mbale [victor's sessions]](https://reader035.fdocuments.us/reader035/viewer/2022062220/559857a01a28abba1d8b478c/html5/thumbnails/32.jpg)
● Do the django girls tutorial● Do the 6 part django tutorial (http:
//djangoproject.com)● Google a lot! ● Do many projects..● Check out TDD