OK, for this exercise, assume I have a database table (in SQLite3) that contains student names and roll numbers. Let's look at this in steps.
- Import everything you need in views.py:
import sqlite3
from django.template import Template, Context - Create a data structure that will hold your records:
class Student (object):
def __init__ (self, name, rno):
self.name = name
self.rno = rno - Define your view and in it extract all records of student:
def display (request):
conn = sqlite3.connect ("/path/to/db/dbname.db")
cur = conn.cursor ()
cur.execute ("select * from student")
students = [] # Will store student records
for row in cur:
students.append (Student (row[0], row[1]))
# Append to list 'students' an object of the class 'Student' - Now it's time for the ol' Template/Context magic:
t = Template ("/path/to/html/file/stud.html")
c = Context ({'students':students})
html = t.render (c)
return HttpReponse (html) - But we're not done yet! We don't have the HTML file in which we define how the data is to be structured:
<html>
{% for student in students %}
Roll no.: {{ student.rno }} Name: {{ student.name }}
{% endfor %}
</html>
You're set! Notice how elements can be accessed in HTML using the names you defined in Python in the class Student. Neat huh? I threw a lot of information your way right now. Please comment with doubts. Until next time!
No comments:
Post a Comment