Why can't range function be added in templates?

130 views
Skip to first unread message

Dhruva Shaw

unread,
Oct 2, 2021, 1:20:38 PM10/2/21
to Django developers (Contributions to Django itself)
I did read this comment https://code.djangoproject.com/ticket/13088#comment:1 and it says its more like adding programming to templates! :(

Isn't whole template a programming (made up of programming blocks)?? I mean there is a for loop and all , also there are some cases where you need a numeric iterator for which the the no items for the loop is directly coming from database eg https://github.com/Tanzanite-lpu/tgl-2.0.0/blob/ddce5ef87a4b5248b8cb8cd5fa3df4adb3f00b31/main/templates/groups.html#L36

Also there maybe a case where you want to run a loop without a list.

So I believe a range function should be added. :)

Adam Johnson

unread,
Oct 8, 2021, 10:00:28 AM10/8/21
to django-d...@googlegroups.com
Django’s general policy is that templates should be kept as simple as possible. It's possible to create range() objects in the view, place them in the context, and then iterate over them in templates.

Also, adding range() for a project is a few lines of code with simple_tag: https://docs.djangoproject.com/en/3.2/howto/custom-template-tags/#simple-tags. So it doesn't seem like much to ask users to add it when required.

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/dababcf6-3693-40cd-8c5c-5873592ed7c5n%40googlegroups.com.
Message has been deleted

Dhruva Shaw

unread,
Oct 8, 2021, 12:14:19 PM10/8/21
to Django developers (Contributions to Django itself)
Ik range function can be added but I also mentioned that there are some cases range function can't be direct generated from the view like this  https://github.com/Tanzanite-lpu/tgl-2.0.0/blob/ddce5ef87a4b5248b8cb8cd5fa3df4adb3f00b31/main/templates/groups.html#L36

Well I did add the range with simple tag but there many beginners Django users out there who dosen't know about this. 

Also where is the problem????, since templates are almost pythonic in nature (with - for loops and if else) so where is the problem adding a simple default range function to templates.
This will in a way make django templates more powerful.

Range also give way more possible idea :)

Florian Apolloner

unread,
Oct 9, 2021, 5:10:29 AM10/9/21
to Django developers (Contributions to Django itself)
On Friday, October 8, 2021 at 6:14:19 PM UTC+2 dhruv...@gmail.com wrote:
Ik range function can be added but I also mentioned that there are some cases range function can't be direct generated from the view like this  https://github.com/Tanzanite-lpu/tgl-2.0.0/blob/ddce5ef87a4b5248b8cb8cd5fa3df4adb3f00b31/main/templates/groups.html#L36

Why was "|range" added there? You are not using {{ j }} there at all but {{ forloop.counter }}. There doesn't seem to be any reason to use "|range" there.

Dhruva Shaw

unread,
Oct 9, 2021, 6:34:38 AM10/9/21
to Django developers (Contributions to Django itself)
BRUHHH NOOO, I HAVE TO GENERATE A NO OF SELECT BOXES , AND HAVE MANY SELECT BOXES WILL GENERATED COMES DIRECTLY FROM THE DATABSE

Dhruva Shaw

unread,
Oct 9, 2021, 6:35:17 AM10/9/21
to Django developers (Contributions to Django itself)
SINCE THE NO OF SELECT BOXES THAT I HAVE GENERATE COMES DIRECTLY FROM THE DATABSE, THUS RANGE FUNCTION IS NEEDED!

On Saturday, October 9, 2021 at 2:40:29 PM UTC+5:30 f.apo...@gmail.com wrote:

Adam Johnson

unread,
Oct 9, 2021, 6:45:11 AM10/9/21
to django-d...@googlegroups.com
Please don't use shouty capitals or angry slang like "Bruh no" on this mailing list. This mailing list is for calm professional discussion.

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.

Benny

unread,
Oct 9, 2021, 2:15:25 PM10/9/21
to django-d...@googlegroups.com
FWIW The template system always seemed like an added bonus to the project. Which is fine because, personally, I’d rather more effort go into the guts than the lipstick anyway. 

It’s easy enough to build custom filters, or even exploit some of the quirks of the system… so much so that asking the core team to address this over just building or forking a third-party package is superfluous. 

All that said, it loos like you’re trying to build form fields based on a predetermined, um, range of results. It looks to me this can be addressed by having one more nested loop. So you have `for i in group` then `for j in i.game` - you could add something like `for k in j.squad_entry_members`. This would skip the need for a range, fall within the system specs, and gets you a free counter without having to know the specific size.
 

Benny

On Oct 9, 2021, at 5:45 AM, 'Adam Johnson' via Django developers (Contributions to Django itself) <django-d...@googlegroups.com> wrote:



Dhruva Shaw

unread,
Oct 9, 2021, 2:34:46 PM10/9/21
to Django developers (Contributions to Django itself)
Yup I agree that template system is added bonus, then why not more power to it? I do believe that it could be easily added but there are many beginners out who dont know how to implement and there many complex solutions present over the inetrnet.


well ` j.squad_entry_members` is no (dataype int) its not a list, since its a no thus numeric loop is required :)  (if you do ` for i in j.squad_entry_members` and since ` j.squad_entry_members` is an int so lets suppose that ` j.squad_entry_members` has a value of 2 then i would hold the value 2 and for loop will be run once which i don't , i want that for loop to be run twice ) :)

Dhruva Shaw

unread,
Oct 10, 2021, 9:57:38 AM10/10/21
to Django developers (Contributions to Django itself)
well my bad, tbh i wasn't shouting, just that caps was mistakenly on. If ever I was shouting then I would be using some words which wouldn't be appealing, :thinking: is bruh noo.. a slang or just an expression came out of shock!!!!! , i believe anyways `bruh no` is not a slang, anyways nvm
Reply all
Reply to author
Forward
0 new messages