From 54acb322416c2400082c71f28c63e8cd936df6c3 Mon Sep 17 00:00:00 2001 From: William Zhang <willzhang05@gmail.com> Date: Sat, 26 May 2018 18:20:42 -0400 Subject: [PATCH] working about page with templating and clean up formatting --- .gitignore | 1 + sgawebsite/apps/main/models.py | 8 ---- sgawebsite/apps/main/views.py | 30 +++++++++++++ sgawebsite/templates/about.html | 20 +++++++-- sgawebsite/templates/about.html.bk | 72 ------------------------------ 5 files changed, 47 insertions(+), 84 deletions(-) delete mode 100644 sgawebsite/templates/about.html.bk diff --git a/.gitignore b/.gitignore index 5223a9b..d15d914 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ settings.py env/ db.sqlite3 *.json +admin/ diff --git a/sgawebsite/apps/main/models.py b/sgawebsite/apps/main/models.py index a90f0a6..1f2dbda 100644 --- a/sgawebsite/apps/main/models.py +++ b/sgawebsite/apps/main/models.py @@ -16,14 +16,6 @@ class Member(models.Model): def __str__(self): return self.first_name + ' ' + self.last_name - def username(self): - if self.first_name and self.last_name: - if self.year > 0: - return str(year) + first_name[:1] + last_name[:7] - else: - return first_name[:1] + last_name[:7] - return None - class Resource(models.Model): name = models.CharField(max_length=50) diff --git a/sgawebsite/apps/main/views.py b/sgawebsite/apps/main/views.py index 312cc82..37d2302 100644 --- a/sgawebsite/apps/main/views.py +++ b/sgawebsite/apps/main/views.py @@ -1,10 +1,14 @@ from django.shortcuts import render from django.template.defaulttags import register from .models import Member, Resource +from django.contrib.staticfiles.storage import staticfiles_storage +import os + def index(request): return render(request, 'index.html') + def about(request): categories = list(Member.CATEGORIES) orgs = [c[0] for c in list(Member.CATEGORIES)] @@ -18,12 +22,38 @@ def about(request): context['data'] = data return render(request, 'about.html', context) + @register.filter def get_item(dictionary, key): return dictionary.get(key) + +@register.filter +def username(obj): + if obj.first_name and obj.last_name: + if obj.year > 0: + return str(str(obj.year) + + obj.first_name[:1] + + obj.last_name[:7]).lower() + else: + return str(obj.first_name[:1] + obj.last_name[:7]).lower() + return None + + +@register.filter +def filename(obj): + uname = username(obj) + folder = 'img' + filepath = os.path.join(folder, 'people', uname + '.jpg') + if uname is not None and staticfiles_storage.exists(filepath): + return os.path.join('static', filepath) + else: + return os.path.join('static', folder, 'profile.jpg') + + def resources(request): return render(request, 'resources.html') + def events(request): return render(request, 'events.html') diff --git a/sgawebsite/templates/about.html b/sgawebsite/templates/about.html index ae3d631..589188f 100644 --- a/sgawebsite/templates/about.html +++ b/sgawebsite/templates/about.html @@ -26,13 +26,25 @@ {% for org in categories %} <section id="{{ org.0 }}"> <h2>{{ org.1 }}</h2> - <div class="{{ org.username }}-intro"> {% with key=data|get_item:org.0 %} {% for member in key %} <div class="{{ org.0 }}-intro"> - {% with year=member.year first=member.first_name last=member.last_name %} - {{ first }} {{ last }} {{ year }} - {% endwith %} + <div class="{{ org.0 }}-image"> + <img src="{{ member|filename }}" /> + </div> + <div class="{{ org.0 }}-text"> + <span>{{ member.first_name }} {{ member.last_name }}</span> + {% if member.category != 'sponsors' and member.category != 'senators' %} + <span>{{ member.year }}</span> + {% endif %} + </div> + {% if member.category != "officers" %} + <span>{{ member.title }}</span> + {% endif %} + + {% if member.category == "officers" and member.intro != '' %} + <p>{{ member.intro }}</p> + {% endif %} </div> {% endfor %} {% endwith %} diff --git a/sgawebsite/templates/about.html.bk b/sgawebsite/templates/about.html.bk deleted file mode 100644 index bb371af..0000000 --- a/sgawebsite/templates/about.html.bk +++ /dev/null @@ -1,72 +0,0 @@ -<!DOCTYPE html> -<html> -{% load static %} -<head> - <link href="{% static 'css/about.css' %}" rel="stylesheet" /> - {% include 'head.html' %} - <title>About - TJSGA</title> -</head> -<body> - {% include 'header.html' %} - <div id="wrapper" class="fluid"> - <section id="contact"> - <h2>Contact Us!</h2> - <div class="desc"> - <span class="quote"> - "The world is moved not only by the mighty shoves of the heroes, but also by the aggregate of the tiny pushes of each honest worker." - Helen Keller - </span> - </div> - <div class="desc"> - Contact us at - <a href="mailto:sga.tjhsst@gmail.com">sga.tjhsst@gmail.com</a>. We would love to answer questions or hear - about how you think we can improve TJ! - </div> - </section> - <hr /> - {{ categories }} - <!-- - {% for org in categories %} - <section id="{{ org[0] }}"> - <h2>{{ org[1] }}</h2> - {% for member in org.members %} - <div class="{{ org.username }}-intro"> - {% assign year = member.year | downcase %} - {% assign first = member.first | slice: 0 %} - {% assign last = member.last | slice: 0,7 %} - {% if org['username'] != "sponsors" %} - {% capture filename %}img/people/{{ year }}{{ first }}{{ last }}.jpg{% endcapture %} - {% else %} - {% capture filename %}img/people/{{ first }}{{ last }}.jpg{% endcapture %} - {% endif %} - {% capture exists %} - {% file_exists {{ path }} %} - {% endcapture %} - {% if exists == false %} - {% capture filename %}img/profile.jpg{% endcapture %} - {% endif %} - <div class="{{ org.username }}-image"> - <img src="{{ filename | strip_newlines | downcase }}" /> - </div> - <div class="{{ org.username }}-text"> - <span>{{ member.first }} {{ member.last }}</span> - {% if org['username'] != "sponsors" and org['username'] != "senators" %} - <span>{{ year }}</span> - {% endif %} - - {% if org['username'] != "officers" %} - <span>{{ member.title }}</span> - {% endif %} - - {% if org['username'] == "officers" %} - <p>{{ member.intro }}</p> - {% endif %} - </div> - </div> - {% endfor %} - </section> - {% endfor %} - --> - </div> - {% include 'footer.html' %} -</body> -</html>