Adding some rudimentary templates and the outlines of some generic views

rtd2
Charles Leifer 2010-08-14 00:48:55 -05:00
parent 887ac44626
commit 0c826a1335
7 changed files with 59 additions and 1 deletions

0
projects/forms.py Normal file
View File

View File

@ -0,0 +1 @@
{% extends "base.html" %}

View File

@ -0,0 +1,3 @@
{% extends "projects/base_project.html" %}
{% block title %}{{ project.name }}{% endblock %}

View File

@ -0,0 +1,3 @@
{% extends "projects/base_project.html" %}
{% block title %}Projects{% endblock %}

View File

@ -1,5 +1,16 @@
from django.conf.urls.defaults import *
urlpatterns = patterns('projects.views',
# TODO: urls here
url(r'^$',
'project_index',
name='projects_list'
),
url(r'^(?P<username>\w+)/$',
'project_index',
name='projects_user_list'
),
url(r'^(?P<username>\w+)/(?P<project_slug>[-\w]+)/$',
'project_detail',
name='projects_detail'
),
)

View File

@ -0,0 +1,36 @@
from django.contrib.auth.models import User
from django.shortcuts import get_object_or_404, render_to_response
from django.views.generic.list_detail import object_list, object_detail
from projects.models import Project
def project_index(request, username=None):
queryset = Project.objects.all()
if username:
user = get_object_or_404(User, username=username)
queryset = queryset.filter(user=user)
else:
user = None
return object_list(
request,
queryset=queryset,
extra_context={'user': user},
paginate_by=20,
page=int(request.GET.get('page', 1)),
template_object_name='project',
)
def project_detail(request, username, project_slug):
user = get_object_or_404(User, username=username)
queryset = Project.objects.filter(user=user)
return object_detail(
request,
queryset=queryset,
slug_field='slug',
slug=project_slug,
extra_context={'user': user},
template_object_name='project',
)

4
templates/base.html Normal file
View File

@ -0,0 +1,4 @@
<html>
<body>
</body>
</html>