Coverage for webpage/templatetags/webpage_extras.py: 75%

24 statements  

« prev     ^ index     » next       coverage.py v7.6.0, created at 2024-07-27 11:19 +0000

1from django import template 

2from webpage.metadata import PROJECT_METADATA as PM 

3 

4register = template.Library() 

5 

6 

7@register.simple_tag 

8def projects_metadata(key): 

9 return PM[key] 

10 

11 

12@register.simple_tag 

13def get_verbose_name(instance, field_name): 

14 """ 

15 Returns verbose_name for a field. 

16 inspired by https://stackoverflow.com/questions/14496978/fields-verbose-name-in-templates 

17 call in template like e.g. 'get_verbose_name <classname> "<fieldname>" ' 

18 """ 

19 try: 

20 label = instance._meta.get_field(field_name).verbose_name 

21 except: 

22 label = None 

23 if label: 

24 return "{}".format(label) 

25 else: 

26 return "No verbose name for '{}' provided".format(field_name) 

27 

28 

29@register.simple_tag 

30def get_help_text(instance, field_name): 

31 """ 

32 Returns help_text for a field. 

33 inspired by https://stackoverflow.com/questions/14496978/fields-verbose-name-in-templates 

34 call in template like e.g. get_help_text <classname> "<fieldname>" 

35 """ 

36 try: 

37 label = instance._meta.get_field(field_name).help_text 

38 except: 

39 label = None 

40 if label: 

41 return "{}".format(label) 

42 else: 

43 return "No helptext for '{}' provided".format(field_name)