Umístění Django template

29 views
Skip to first unread message

MirekZv

unread,
Mar 5, 2018, 3:04:51 PM3/5/18
to django-cs
Zdravím vás, lidi.

Musím říct, že jsem úplně šílenej z umístění Django template a vůbec to nechápu. Jediné, co mě napadá (jistě nesprávně a ze zoufalství), že explicit je lepší než implicit, ale zde je to pravý opak.
Někde jsem už zaslechl, že je to vlastně DĚSNĚ výhodný. Ale fakt mi to nějak uniká.


Například:
V settings mám default:
TEMPLATES = [
 
{
 
'BACKEND': 'django.template.backends.django.DjangoTemplates',
 
'DIRS': [],
 
'APP_DIRS': True,
 
'OPTIONS': {
 
'context_processors': [
 
'django.template.context_processors.debug',
 
'django.template.context_processors.request',
 
'django.contrib.auth.context_processors.auth',
 
'django.contrib.messages.context_processors.messages',
 
],
 
},
 
},
]
a ladím něco s nějakým modulem.
Ten je nainstalovaný: pip install -e /home/mirek/g/django-file-resubmit/django-file-resubmit/
Z něj používám v admin.py jakýsi widget:
from file_resubmit.widgets import ResubmitFileWidget
class SouborAdminForm(forms.ModelForm):
 
class Meta:
 model
= Soubor
 exclude
= []
 widgets
= {
 
'soubor': ResubmitFileWidget
 
}

Ten widget má templatu někde u sebe, v tom g/ adresáři,
a django (2.0) pochopitelně ani nenapadne hledat tam, hledá v adresáři projektu, a ke všemu někde v djangu, nainstalovaném do virtualenv.

Using engine django:

  • django.template.loaders.filesystem.Loader: /home/mirek/djp/dbstorage_resubmit/ve_dbstorage_resubmit/lib/python3.6/site-packages/django/forms/templates/db_file_storage/widgets/admin_clearable_file_input.html (Source does not exist)
  • django.template.loaders.app_directories.Loader: /home/mirek/djp/dbstorage_resubmit/ve_dbstorage_resubmit/lib/python3.6/site-packages/django/contrib/admin/templates/db_file_storage/widgets/admin_clearable_file_input.html (Source does not exist)
  • django.template.loaders.app_directories.Loader: /home/mirek/djp/dbstorage_resubmit/ve_dbstorage_resubmit/lib/python3.6/site-packages/django/contrib/auth/templates/db_file_storage/widgets/admin_clearable_file_input.html (Source does not exist)


A včil, jak takovou věc nejlíp spravit.
Zatím to umím skoro jedině nakopírováním té templaty na nějakou naprosto nesouvidející lokaci do Djanga. No to asi nebude to pravé.
Nebo možná připsáním lokace natvrdo do 'DIRS'. Taky nevím, jestli je to ideální. :(

Beda Kosata

unread,
Mar 6, 2018, 4:50:56 AM3/6/18
to djan...@googlegroups.com
Ahoj,

střelím v rychlosti od boku - jestli chceš, aby Ti to Django samo
našlo pomocí "APP_DIRS=True", tak musíš tu apku (django_file_resubmit,
nebo jak se to jmenuje) přidat do INSTALLED_APPS. Pak by to mohlo jít.

Beda
> --
> --
> E-mailová skupina djan...@googlegroups.com
> Správa: http://groups.google.cz/group/django-cs
> ---
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
> „django-cs“ ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny,
> zašlete e-mail na adresu django-cs+...@googlegroups.com.
> Chcete-li tuto diskusi zobrazit na webu, navštivte
> https://groups.google.com/d/msgid/django-cs/e8be8b3c-2d4e-44ce-b9fe-5ae6ef88c5b5%40googlegroups.com.
> Další možnosti najdete na https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages