Compare commits
2 commits
master
...
middleware
Author | SHA1 | Date | |
---|---|---|---|
![]() |
869048fe59 | ||
![]() |
dfcb1a234f |
9 changed files with 49 additions and 0 deletions
0
fanik/__init__.py
Normal file
0
fanik/__init__.py
Normal file
3
fanik/admin.py
Normal file
3
fanik/admin.py
Normal file
|
@ -0,0 +1,3 @@
|
|||
from django.contrib import admin
|
||||
|
||||
# Register your models here.
|
5
fanik/apps.py
Normal file
5
fanik/apps.py
Normal file
|
@ -0,0 +1,5 @@
|
|||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class FanikConfig(AppConfig):
|
||||
name = 'fanik'
|
31
fanik/middleware.py
Normal file
31
fanik/middleware.py
Normal file
|
@ -0,0 +1,31 @@
|
|||
from random import choices
|
||||
from django.shortcuts import render
|
||||
|
||||
def fanik_middleware(get_response):
|
||||
# Mapování uživatelských jmen na blbý kecy (+ váhy), obsah odkazu ap.
|
||||
config = {
|
||||
'fanik': {
|
||||
'kecy': [
|
||||
(r'<h1>Co je web?</h1><p>– 8. 11. 2021</p>', 10),
|
||||
(r'<h1>Mě to nezajímá.</h1><p>– 8. 11. 2021</p>', 5),
|
||||
],
|
||||
'link': r'<a href="mailto:web@mam.mff.cuni.cz?subject=Omluva%20webařům&body=Převelice%20se%20omlouvám.">Svůj postoj jsem přehodnotil</a>',
|
||||
},
|
||||
}
|
||||
|
||||
def middleware(request):
|
||||
if request.user.is_authenticated:
|
||||
username = request.user.username
|
||||
if username in config:
|
||||
kecy = config[username]['kecy']
|
||||
vahy = [x[1] for x in kecy]
|
||||
kec = choices([x[0] for x in kecy], weights=vahy, k=1)[0]
|
||||
template_name = 'universal.html'
|
||||
context = {}
|
||||
context['raw_html'] = kec + config[username]['link']
|
||||
return render(request,template_name,context)
|
||||
|
||||
# Ve všech ostatních případech vrátíme výsledek původního dotazu
|
||||
return get_response(request)
|
||||
|
||||
return middleware
|
0
fanik/migrations/__init__.py
Normal file
0
fanik/migrations/__init__.py
Normal file
3
fanik/models.py
Normal file
3
fanik/models.py
Normal file
|
@ -0,0 +1,3 @@
|
|||
from django.db import models
|
||||
|
||||
# Create your models here.
|
3
fanik/tests.py
Normal file
3
fanik/tests.py
Normal file
|
@ -0,0 +1,3 @@
|
|||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
3
fanik/views.py
Normal file
3
fanik/views.py
Normal file
|
@ -0,0 +1,3 @@
|
|||
from django.shortcuts import render
|
||||
|
||||
# Create your views here.
|
|
@ -65,6 +65,7 @@ MIDDLEWARE = (
|
|||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
|
||||
'fanik.middleware.fanik_middleware',
|
||||
)
|
||||
|
||||
TEMPLATES = [
|
||||
|
|
Loading…
Reference in a new issue