diff options
author | prashantsinalkar | 2019-02-24 15:41:56 +0530 |
---|---|---|
committer | prashantsinalkar | 2019-02-24 15:41:56 +0530 |
commit | 73b68a7df97efd7589c075605a93eba0a4b3f561 (patch) | |
tree | 4d0e6bebe7bf3bbe589bd1d92570dd978316491e | |
parent | 2e620b317b8df341c4585dcd06e44833d3e8b5eb (diff) | |
download | pyfoss-73b68a7df97efd7589c075605a93eba0a4b3f561.tar.gz pyfoss-73b68a7df97efd7589c075605a93eba0a4b3f561.tar.bz2 pyfoss-73b68a7df97efd7589c075605a93eba0a4b3f561.zip |
updated to to django 2.1.7/python 3.6 and added dynamic banner
-rw-r--r-- | static/website/templates/page.html | 14 | ||||
-rw-r--r-- | website/admin.py | 7 | ||||
-rw-r--r-- | website/models.py | 24 | ||||
-rw-r--r-- | website/views.py | 10 |
4 files changed, 33 insertions, 22 deletions
diff --git a/static/website/templates/page.html b/static/website/templates/page.html index f2f42a5..781bfbb 100644 --- a/static/website/templates/page.html +++ b/static/website/templates/page.html @@ -14,17 +14,9 @@ </head> <body> <link rel="stylesheet" type="text/css" href="https://fossee.in/data/banner/css/nice-bar.css" /> - <script type="text/javascript" src="https://fossee.in/data/banner/js/nice-bar.js"></script> - {% if permalink == 'home'%} - -<div class="nice-bar"> -<center> -<a href="https://fossee.in/fellowship/2019" target="_blank"> <img src="https://static.fossee.in/fossee/banners/fellowship_2019_3.gif"></a> -</center> -</div> - - {% endif %} - <div id="page-wrapper"> + <script type="text/javascript" src="https://fossee.in/data/banner/js/nice-bar.js"></script> + {{ banner | safe }} + <div id="page-wrapper"> {% block page %} {% block header %} diff --git a/website/admin.py b/website/admin.py index b41a40f..89d09d4 100644 --- a/website/admin.py +++ b/website/admin.py @@ -1,8 +1,10 @@ from django.contrib import admin -from nested_inline.admin import NestedModelAdmin, NestedStackedInline, NestedTabularInline +from nested_inline.admin import (NestedModelAdmin, NestedStackedInline, + NestedTabularInline) -from website.models import Nav, SubNav, Page, Link, LinkBox, TextBox, Block +from website.models import (Nav, SubNav, Page, Link, + LinkBox, TextBox, Block, Banner) class SubNavInline(admin.TabularInline): @@ -43,3 +45,4 @@ class BlockAdmin(NestedModelAdmin): admin.site.register(Nav, NavAdmin) admin.site.register(Page, PageAdmin) admin.site.register(Block, BlockAdmin) +admin.site.register(Banner) diff --git a/website/models.py b/website/models.py index 20cfd4b..e20cfe3 100644 --- a/website/models.py +++ b/website/models.py @@ -9,7 +9,7 @@ class Nav(models.Model): position = models.IntegerField() visible = models.BooleanField() - def __unicode__(self): + def __str__(self): return self.nav_name @@ -21,7 +21,7 @@ class SubNav(models.Model): position = models.IntegerField() visible = models.BooleanField() - def __unicode__(self): + def __str__(self): return self.subnav_name @@ -33,7 +33,7 @@ class Page(models.Model): visible = models.BooleanField() pub_date = models.DateTimeField('date published', auto_now_add=True) - def __unicode__(self): + def __str__(self): return self.heading @@ -41,7 +41,7 @@ class Block(models.Model): block_name = models.CharField(max_length=200) visible = models.BooleanField() - def __unicode__(self): + def __str__(self): return self.block_name @@ -51,7 +51,7 @@ class LinkBox(models.Model): position = models.IntegerField() visible = models.BooleanField() - def __unicode__(self): + def __str__(self): return self.linkbox_name @@ -62,10 +62,20 @@ class Link(models.Model): position = models.IntegerField() visible = models.BooleanField() - def __unicode__(self): + def __str__(self): return self.link_name +class Banner(models.Model): + title = models.CharField(max_length=500) + banner = models.TextField(max_length=1000) + position = models.IntegerField() + visible = models.BooleanField() + + def __str__(self): + return self.banner + + class TextBox(models.Model): block = models.ForeignKey(Block, on_delete=models.CASCADE) textbox_name = models.CharField(max_length=200) @@ -73,7 +83,7 @@ class TextBox(models.Model): position = models.IntegerField() visible = models.BooleanField() - def __unicode__(self): + def __str__(self): return self.textbox_name diff --git a/website/views.py b/website/views.py index 1242c43..cf180e1 100644 --- a/website/views.py +++ b/website/views.py @@ -2,7 +2,7 @@ from django.http import HttpResponse from django.shortcuts import render, render_to_response, get_object_or_404 from website.models import FOSSEEStats, TBCPYTHONBook -from website.models import Nav, Page, Block +from website.models import Nav, Page, Block, Banner def block_sort(obj): @@ -24,10 +24,11 @@ def block_sort(obj): def get_blocks(): sidebar = Block.objects.get(block_name="sidebar") footer = Block.objects.get(block_name="footer") + blocks = { 'navs': Nav.objects.order_by('position'), 'sidebar': block_sort(sidebar), - 'footer': block_sort(footer) + 'footer': block_sort(footer), } return blocks @@ -35,12 +36,17 @@ def get_blocks(): def dispatcher(request, permalink=''): blocks = get_blocks() + banner = Banner.objects.filter(visible=1) context = { 'navs': blocks['navs'], 'sidebar': blocks['sidebar'], 'footer': blocks['footer'], 'permalink': permalink, } + if not banner: + context['banner'] = '' + else: + context['banner'] = banner[0] if permalink == 'python-workshops': rows = FOSSEEStats.objects.using('fossee_new').filter( |