|
|
@ -1,3 +1,5 @@ |
|
|
|
from django import views as DjangoViews |
|
|
|
|
|
|
|
bez_diakritiky = ({} |
|
|
|
# FIXME: funguje jen pro český a slovenský text, jinak jsou špatně |
|
|
|
# transliterace. Potenciální řešení: |
|
|
@ -52,3 +54,30 @@ def from_roman(rom): |
|
|
|
if rom.upper().startswith(n): |
|
|
|
return i + from_roman(rom[len(n):]) |
|
|
|
raise Exception('Invalid roman numeral: "%s"', rom) |
|
|
|
|
|
|
|
|
|
|
|
def viewMethodSwitch(get, post): |
|
|
|
""" |
|
|
|
Vrátí view, který zavolá různé jiné views podle toho, kterou metodou je zavolán. |
|
|
|
|
|
|
|
Inspirováno https://docs.djangoproject.com/en/3.1/topics/class-based-views/mixins/#an-alternative-better-solution, jen jsem to udělal genericky. |
|
|
|
|
|
|
|
Parametry: |
|
|
|
post view pro metodu POST |
|
|
|
get view pro metodu GET |
|
|
|
|
|
|
|
V obou případech se míní už view jakožto funkce, takže u class-based views se už má použít .as_view() |
|
|
|
|
|
|
|
TODO: Podpora i pro metodu HEAD? A možná i pro FILES? |
|
|
|
""" |
|
|
|
|
|
|
|
theGetView = get |
|
|
|
thePostView = post |
|
|
|
|
|
|
|
class NewView(DjangoViews.View): |
|
|
|
def get(self, request, *args, **kwargs): |
|
|
|
return theGetView(request, *args, **kwargs) |
|
|
|
def post(self, request, *args, **kwargs): |
|
|
|
return thePostView(request, *args, **kwargs) |
|
|
|
|
|
|
|
return NewView.as_view() |
|
|
|