refactor for less duplication
refactored to use a common 'list.html' refactored to allow some modularization (using blocks)
This commit is contained in:
@@ -21,7 +21,7 @@ from django.conf import settings
|
|||||||
from .views import welcome
|
from .views import welcome
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', welcome),
|
path('', welcome, name="home"),
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
path('events/', include('events.urls')),
|
path('events/', include('events.urls')),
|
||||||
path('teams/', include('teams.urls')),
|
path('teams/', include('teams.urls')),
|
||||||
|
|||||||
@@ -1,15 +1,19 @@
|
|||||||
{% load bootstrap5 %}
|
|
||||||
{% bootstrap_css %}
|
|
||||||
{% bootstrap_javascript %}
|
|
||||||
|
|
||||||
<Title>Schedule</Title>
|
{% extends 'base.html' %}
|
||||||
<h1>Schedule</h1>
|
|
||||||
<ol>
|
{% block title %} {{ title }} {% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<h1>{{ title }}</h1>
|
||||||
|
<ol class="list-group">
|
||||||
{% for event in events %}
|
{% for event in events %}
|
||||||
<li>
|
<li class="list-group-item">
|
||||||
{{ event.away_team.name }} vs. {{ event.home_team.name }} <br>
|
{{ event.away_team.name }} vs. {{ event.home_team.name }} <br>
|
||||||
{{ event.start|date:"l, F j, Y g:i A" }} <br>
|
{{ event.start|date:"l, F j, Y g:i A" }} <br>
|
||||||
{{ event.venue.name }}
|
{{ event.venue.name }}
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
@@ -6,4 +6,4 @@ def root(request):
|
|||||||
|
|
||||||
def schedule(request):
|
def schedule(request):
|
||||||
events = Event.objects.all()
|
events = Event.objects.all()
|
||||||
return render(request, 'events/schedule.html', {'events': events})
|
return render(request, 'events/schedule.html', {'title':'Schedule', 'events': events})
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{% load bootstrap5 %}
|
|
||||||
{% bootstrap_css %}
|
|
||||||
{% bootstrap_javascript %}
|
|
||||||
|
|
||||||
<Title>Teams</Title>
|
|
||||||
<h1>Teams</h1>
|
|
||||||
<ol>
|
|
||||||
{% for team in teams %}
|
|
||||||
<li>
|
|
||||||
{{ team.name }}
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ol>
|
|
||||||
@@ -6,4 +6,4 @@ def root(request):
|
|||||||
|
|
||||||
def list(request):
|
def list(request):
|
||||||
teams = Team.objects.all()
|
teams = Team.objects.all()
|
||||||
return render(request, 'teams/list.html', {'teams': teams})
|
return render(request, 'list.html', {'title': "Teams", 'items': [f"{team.name}" for team in teams]})
|
||||||
@@ -1,17 +1,11 @@
|
|||||||
<!DOCTYPE html>
|
{% extends "base.html" %}
|
||||||
<html lang="en">
|
|
||||||
<head>
|
{% block title %}Bench Coach Home{% endblock %}
|
||||||
{% load bootstrap5 %}
|
|
||||||
{% bootstrap_css %}
|
{% block content %}
|
||||||
{% bootstrap_javascript %}
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>Bench Coach</title>
|
|
||||||
</head>
|
|
||||||
<h1>Bench Coach</h1>
|
|
||||||
{% for page in pages %}
|
{% for page in pages %}
|
||||||
<li><a style="text-transform:capitalize;" href="{% url page %}">{{ page }} </a></li>
|
<li><a style="text-transform:capitalize;" href="{% url page %}">{{ page }} </a></li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<body>
|
|
||||||
|
|
||||||
</body>
|
{% endblock %}
|
||||||
</html>
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<head>
|
|
||||||
<style>
|
|
||||||
ul.dropdown-list {
|
|
||||||
list-style-type: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
background-color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
li.navbar-item {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
li a, .dropbtn {
|
|
||||||
display: inline-block;
|
|
||||||
color: white;
|
|
||||||
text-align: center;
|
|
||||||
padding: 14px 16px;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
li a:hover, .dropdown:hover .dropbtn {
|
|
||||||
background-color: red;
|
|
||||||
}
|
|
||||||
|
|
||||||
li.dropdown {
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropdown-content {
|
|
||||||
display: none;
|
|
||||||
position: absolute;
|
|
||||||
background-color: #f9f9f9;
|
|
||||||
min-width: 160px;
|
|
||||||
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropdown-content a {
|
|
||||||
color: black;
|
|
||||||
padding: 12px 16px;
|
|
||||||
text-decoration: none;
|
|
||||||
display: block;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropdown-content a:hover {background-color: #f1f1f1;}
|
|
||||||
|
|
||||||
.dropdown:hover .dropdown-content {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<ul class="dropdown-list">
|
|
||||||
<li class="navbar-item"><a href="#home">Home</a></li>
|
|
||||||
<li class="dropdown">
|
|
||||||
<a href="javascript:void(0)" class="dropbtn">Dropdown</a>
|
|
||||||
<div class="dropdown-content">
|
|
||||||
{% for event in events %}
|
|
||||||
<a href="{% url 'players' year=event.date.year month=event.date.month day=event.date.day %}">{{ event.date }} </a>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li style="float:right">⚾️</li>
|
|
||||||
</ul>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -6,4 +6,4 @@ def root(request):
|
|||||||
|
|
||||||
def list(request):
|
def list(request):
|
||||||
venues = Venue.objects.all()
|
venues = Venue.objects.all()
|
||||||
return render(request, 'venues/list.html', {'venues': venues})
|
return render(request, 'list.html', {'title': "Venues", 'items': [f"{venue.name}" for venue in venues]})
|
||||||
Reference in New Issue
Block a user