From 1f02f4c200649d9b52cc3d8bf6de17996c5eb3d0 Mon Sep 17 00:00:00 2001 From: Carlos Daniel Ruvalcaba Valenzuela Date: Sat, 26 Apr 2008 02:38:11 -0500 Subject: [PATCH] Migrated to django native templates --- __init__.py | 1 + pages/models.py | 18 +++++++++--------- pages/views.py | 34 ++++++++++++++-------------------- settings.py | 7 +++++++ templates/edit.html | 24 ++++++++++-------------- templates/login.html | 17 ++++------------- templates/master.html | 24 +++++++++++++++++------- templates/view.html | 20 ++++++++------------ urls.py | 3 +-- 9 files changed, 71 insertions(+), 77 deletions(-) diff --git a/__init__.py b/__init__.py index e69de29..8b13789 100644 --- a/__init__.py +++ b/__init__.py @@ -0,0 +1 @@ + diff --git a/pages/models.py b/pages/models.py index 776f6af..eea70ae 100644 --- a/pages/models.py +++ b/pages/models.py @@ -28,14 +28,14 @@ from django.db import models class Page(models.Model): class Admin: pass - name = models.CharField(max_length=80) + name = models.CharField(maxlength=80) published = models.DateTimeField() class PageRevision(models.Model): class Admin: pass page = models.ForeignKey(Page) - title = models.CharField(max_length=255) + title = models.CharField(maxlength=255) contents = models.TextField() author = models.IntegerField() published = models.DateTimeField() @@ -43,23 +43,23 @@ class PageRevision(models.Model): class Menus(models.Model): class Admin: pass - title = models.CharField(max_length=64) + title = models.CharField(maxlength=64) index = models.IntegerField() class MenuLinks(models.Model): class Admin: pass - title = models.CharField(max_length=64) - url = models.CharField(max_length=255) + title = models.CharField(maxlength=64) + url = models.CharField(maxlength=255) index = models.IntegerField() menu = models.ForeignKey(Menus) class Upload(models.Model): class Admin: pass - filename = models.CharField(max_length=255) - md5 = models.CharField(max_length=32) + filename = models.CharField(maxlength=255) + md5 = models.CharField(maxlength=32) filesize = models.IntegerField() - filetype = models.CharField(max_length=64) + filetype = models.CharField(maxlength=64) author = models.IntegerField() - published = models.DateTimeField() \ No newline at end of file + published = models.DateTimeField() diff --git a/pages/views.py b/pages/views.py index e0a9145..4b09ee5 100644 --- a/pages/views.py +++ b/pages/views.py @@ -30,6 +30,8 @@ from django.contrib.auth import authenticate, login, logout from django import newforms as forms from django.conf import settings +from bcms.template import template_django as template + from genshi.template import TemplateLoader from models import * @@ -63,9 +65,8 @@ def logme(request): # Return rendered template as HTML return HttpResponse(stream.render('html', doctype='html')) +@template('page_edit.html') def editPage(request, pagename): - if not request.user.is_authenticated(): - return HttpResponseRedirect("/login?redir=/p/edit/"+pagename) if request.method == 'POST': title = request.POST['title'] contents = request.POST['contents'] @@ -77,7 +78,7 @@ def editPage(request, pagename): pg.save() p = pg.pagerevision_set.create(title=title, contents=contents, author=0, published=datetime.datetime.now()) p.save() - return HttpResponseRedirect("/p/" + pagename) + return HttpResponseRedirect("/" + pagename) try: pg = Page.objects.get(name__iexact = pagename) @@ -89,27 +90,20 @@ def editPage(request, pagename): contents = '' ptitle = 'Editing: ' + pagename - # Load the template - template = loader.load('edit.html') - - # Parse and execute the template with given variables - stream = template.generate(contents=contents, title=title, ptitle=ptitle, pagename=pagename, user=request.user) - - # Return rendered template as HTML - return HttpResponse(stream.render('html', doctype='html')) + args = dict(contents=contents, title=title, ptitle=ptitle, + pagename=pagename, user=request.user) + return args +@template('page_view.html') def viewPage(request, pagename): + if not pagename: + pagename = 'index' try: pg = Page.objects.get(name__iexact = pagename) view = pg.pagerevision_set.order_by("-published")[0] except: - return HttpResponse("Page not Found!") - - # Load the template - template = loader.load('view.html') + return HttpResponse("Requested page (%s) not Found!" % pagename) - # Parse and execute the template with given variables - stream = template.generate(title = view.title, contents = view.contents, pagename = pg.name, user=request.user) - - # Return rendered template as HTML - return HttpResponse(stream.render('html', doctype='html')) \ No newline at end of file + args = dict(title = view.title, contents = view.contents, + pagename = pg.name) + return args \ No newline at end of file diff --git a/settings.py b/settings.py index b069656..a8a16e2 100644 --- a/settings.py +++ b/settings.py @@ -99,6 +99,13 @@ TEMPLATE_DIRS = (os.path.join(APP_ROOT, 'templates'), # Don't forget to use absolute paths, not relative paths. ) +TEMPLATE_CONTEXT_PROCESSORS = ( + "django.core.context_processors.auth", + "django.core.context_processors.debug", + "django.core.context_processors.i18n", + "django.core.context_processors.media" +) + INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', diff --git a/templates/edit.html b/templates/edit.html index f65e8e0..383b0b1 100644 --- a/templates/edit.html +++ b/templates/edit.html @@ -1,10 +1,6 @@ - - +{% extends "master.html" %} - - +{% block head %} - - -

Editing: ${pagename}


+{% endblock head %} + +{% block content %} +

Editing: {{ pagename }}


Title: - +
-
@@ -56,6 +54,4 @@ tinyMCE.init({ - - - +{% endblock content %} \ No newline at end of file diff --git a/templates/login.html b/templates/login.html index 50c3dce..7874b1a 100644 --- a/templates/login.html +++ b/templates/login.html @@ -1,14 +1,7 @@ - - +{% extends "master.html" %} - - Login - - - -

+{% block content %} +

{{ msg }}

@@ -24,6 +17,4 @@
- - - +{% endblock content %} \ No newline at end of file diff --git a/templates/master.html b/templates/master.html index b52c872..a22a2cc 100644 --- a/templates/master.html +++ b/templates/master.html @@ -1,6 +1,4 @@ - - - ${select('*')} + + +{% block head %} +{% endblock head %} + - + @@ -56,14 +58,22 @@ hr{
diff --git a/templates/view.html b/templates/view.html index a83bcd9..3c5e0ae 100644 --- a/templates/view.html +++ b/templates/view.html @@ -1,17 +1,13 @@ - - +{% extends "master.html" %} + +{% block content %} - - - -

-Edit +{% if user.is_authenticated %} +Edit +{% endif %}
- - - +{{ contents }} +{% endblock content %} diff --git a/urls.py b/urls.py index ed73654..ef9e5e0 100644 --- a/urls.py +++ b/urls.py @@ -33,6 +33,5 @@ urlpatterns = patterns('', (r'^admin/', include('django.contrib.admin.urls')), (r'^login', 'bcms.pages.views.logme'), (r'^logout', 'bcms.pages.views.logmeout'), - (r'^p/', include('bcms.pages.urls')), - (r'^', 'bcms.pages.views.viewPage', {'pagename':'index'}), + (r'^', include('bcms.pages.urls')), ) -- 2.11.4.GIT
-${select('*|text()')} + +{% block content %} +{% endblock content %} +