Re: admin javacripts

2010-02-19 Thread Preston Timmons
Hi Rob, On Feb 19, 11:58 am, Rob Hudson wrote: > On Fri, Feb 19, 2010 at 8:58 AM, Luke Plant wrote: > 1) Do we put jQuery in base.html and have Django's widgets and plugins > assume it will be there? > > * Benefits: Javascript admin customizations are simpler and can use > the jQuery already on

Re: Django 1.2 release candidate available

2010-05-06 Thread Preston Timmons
Congratulations! Thanks for all your hard work on this. There's not another framework I'd rather use. Preston -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-develop...@googlegroups.com. To unsub

Re: Proposal: Revised form rendering

2010-07-12 Thread Preston Timmons
Hey Russ, I think this is a great proposal so far! Is there a way with the proposed solution for the template designer to add custom attributes to a form field? If so, do you envision that happening in the chrome layer? Here's a use case: The designer wants to render an email input field. They

Re: New context template tag

2010-07-23 Thread Preston Timmons
I'm a fan of this proposal. I find that most of the tags I build return a variable to the context rather than just rendering a string. And while a few of the tags I have built require more complexity than the decorator approach could handle, the majority of them would be trivial to make if this wer

Reason behind hiding the template origin

2012-01-03 Thread Preston Timmons
Hi, I have a question for somebody more experienced with the Django template system internals. The template loader load_template method is documented as such: "The load_template() method of the Loader class retrieves the template string by calling load_template_source(), instantiates a Template

unittest2 discovery proposal

2013-03-31 Thread Preston Timmons
Hi all, There are some important design decisions to be made if we include unittest2 discovery into Django. This message documents a proposed API, the pros and cons, and decisions that need to be made. https://code.djangoproject.com/ticket/17365 -- Limitation of current test setup: -- * Tests

Re: unittest2 discovery proposal

2013-04-02 Thread Preston Timmons
Hi Shai, The discover runner does discovery based on pattern. So, if your tests are named, test_*.py, they would by be discovered by default. Test discovery is recursive, under the root, so it doesn't matter if you have tests in a tests directory. The __init__.py imports would be redundant, and

Re: Multiple template engines for Django - week 1

2014-11-04 Thread Preston Timmons
Hi Aymeric, With the new template update, do you foresee django.utils.setup_test_template_loader and django.utils.restore_template_loaders still working? Those aren't officially public api's, but they're useful nonetheless. Perhaps the way to do it in the future would be with override_settings

Re: Multiple template engines for Django - week 4 - DEP ready for review!

2014-11-07 Thread Preston Timmons
Aymeric, Great work on this. I have a few more questions: First, if multiple engines are configured, how do you see the error being displayed if a template isn't found in any of them? Currently, this originates from the template loaders. For instance, the filesystem loader raises a TemplateDoe

Re: Multiple template engines for Django - week 12

2014-12-27 Thread Preston Timmons
I agree about the select_template() change as well. -- 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-developers+unsu

Formalizing template loader and debug api's

2014-12-27 Thread Preston Timmons
Hi all, I've been working on #15053, which enables Django template loaders to extend templates of the same name recursively. The most common use-case for this is extending the admin templates without needing to copy the application templates into a project. To illustrate the new algorithm, here

Re: Migrations in Django 1.7 make unit testing models harder

2014-12-27 Thread Preston Timmons
At work we use a --no-migrate flag on our test runner. It's helpful when 1) we're developing a new app but the models aren't nailed down yet, and 2) it speeds up the test suite time significantly. The --keepdb option is sufficient for scenario 2, but doesn't do much for scenario 1. Admittedly t

Re: Formalizing template loader and debug api's

2014-12-28 Thread Preston Timmons
Hi Unai. Yes, your previous work was helpful for me in developing this solution. Some of Aymeric's recent refactorings have simplified things since you last worked on it as well. Hi Riccardo. Thanks for the suggestion. I don't mind changing the name of get_internal if others agree. That's an ea

Re: Formalizing template loader and debug api's

2014-12-28 Thread Preston Timmons
Hi Aymeric, Thanks for the feedback! > Even if it isn’t consistently implemented, the loader API is documented: > > https://docs.djangoproject.com/en/1.7/ref/templates/api/#using-an-alternative-template-language > To sum up: > load_template_source(template_name) —> (template_str

Re: Formalizing template loader and debug api's

2014-12-29 Thread Preston Timmons
> > The debugging information is two dimensional data: for each level of > template extending, for each template loader, you have one entry — > entries are 4-tuples in your current proposal. Yes, this is correct. Although there may not be an entry for each loader on each level of ext

Re: Formalizing template loader and debug api's

2015-01-14 Thread Preston Timmons
Hi Aymeric, I got a chance to update my patch with the use of origins. The good news is that it's simpler than the old implementation. I have a few api questions below. The updated branch is here for now: https://github.com/prestontimmons/django/compare/ticket-15053-origin?expand=1 As a quick re

Re: Formalizing template loader and debug api's

2015-01-19 Thread Preston Timmons
> > Perhaps we’ll bikeshed names at some point but let’s leave the “naming > things” problem aside for now. > “name” must be optional for loaders that don’t load templates from > files. > “loadname” must be optional too for templates instantiated from > strings. > Here option

Re: Formalizing template loader and debug api's

2015-01-29 Thread Preston Timmons
Hi Aymeric, It took me awhile, but I haz an update: https://github.com/django/django/pull/3475 Loader cleanup This addresses the code duplication between get_internal and load_template_sources. I also made the app directories loader inherit from the filesystem loader, since the only real differ

Re: Feature proposal: Conditional block tags

2015-02-02 Thread Preston Timmons
> > I suspect it has to do with {% if %} being interpreted at runtime while > {% block %} is interpreted at compile time. > > I never investigated this fully. If someone does, I’m interested :-) > > -- > Aymeric. > I took a look at how this works. The issue comes from a naive approach to ho

Re: discontinue shipping tests with contrib apps?

2015-02-09 Thread Preston Timmons
I think the "need" is mainly conceptual--whether tests are more appropriately grouped with their app or with the other tests. With the discover runner it's uncommon that contrib tests are included in any local test runs. I do prefer moving all tests into the tests directory. The logic to get t

Re: discontinue shipping tests with contrib apps?

2015-02-10 Thread Preston Timmons
The trickiest tests to move will be the gis tests. When gis is enabled, django/contrib/gis/tests is added to the discovery path. This doesn't affect which tests are discovered per se--all gis tests are discovered anyway by discovery on the parent app django.contrib.gis--but it causes the later

Re: Formalizing template loader and debug api's

2015-02-12 Thread Preston Timmons
My pull request is updated with a simplified cache loader and docs. I also found some nicer solutions to some of the hackier things, like making origin available to the ExtendsNode. -- You received this message because you are subscribed to the Google Groups "Django developers (Contributions

Re: Formalizing template loader and debug api's

2015-02-16 Thread Preston Timmons
Hi Aymeric, I'm thinking of proposing an alternative to the cached loader. This new approach makes Django faster in general. To start, I put together some benchmarks here: https://github.com/prestontimmons/templatebench The goal was to identify where Django spends it's time. Is it the loaders

Re: Drop the TEMPLATE_DEBUG setting

2015-02-16 Thread Preston Timmons
Here are some benchmarks I added here: https://github.com/prestontimmons/templatebench This is the cumulative time to do 1000 iterations: Basic.do_init: 0.1423451900 BasicDebug.do_init: 0.1941769123 35% increase in parsing time Basic.do_parse_complex: 1.2230978012 BasicDebug.do_parse_complex: 1

Re: Feature proposal: Conditional block tags

2015-02-17 Thread Preston Timmons
After looking at this, there's nothing special about blocks compared to any other node. They could just as well be evaluated at render time. Here's a branch that implements this change: https://github.com/prestontimmons/django/compare/conditional-blocks?expand=1 Before returning blocks into blo

Re: Formalizing template loader and debug api's

2015-02-17 Thread Preston Timmons
> > Thanks for your continued work on this and sorry for my slow answers. > No worries. I've been taking the time to get a better grasp of Django templates as a whole. > > Does that makes sense, or should I look for a way to incorporate that > > into LoaderOrigin? > > Looking at the implem

Re: Formalizing template loader and debug api's

2015-02-17 Thread Preston Timmons
> > Yes, I do. > > This is an independent follow-up to the big refactoring we’re talking > about, isn’t it? Cool. It depends. The cached loader is what I'm least happy with in my refactoring. This internal cache idea I think is simpler, more performant, and easier to understand. Adding it

Re: Formalizing template loader and debug api's

2015-02-18 Thread Preston Timmons
> In that case, would it be possible to do the caching improvements before > the main > refactoring? I'm trying to keep patches at a reviewable size :-) > > -- > Aymeric. > Maybe. The existing loaders don't provide a nice way to add Origin.uptodate. It would require an informal hack that only

Re: Formalizing template loader and debug api's

2015-03-06 Thread Preston Timmons
A small update: I have a local branch working again, but nothing ready to review. I have decided the origin.status and origin.tried apis I mentioned above aren't going to work. For templates to be safely cacheable in a multi-threaded environment, they basically need to be treated as immutable. A

Re: Drop the TEMPLATE_DEBUG setting

2015-03-09 Thread Preston Timmons
Hey Curtis, I was working to remove origin.reload and ended up with a fork that combines the debug implementation: https://github.com/django/django/pull/4254 On a complex template with debug off I'm measuring about a 5% increase in template compile time compared to master. Turning debug on add

Re: Formalizing template loader and debug api's

2015-03-11 Thread Preston Timmons
My branch is updated. This now combines the origin classes into one. It also includes a simpler cache algorithm than before. This same algorithm can be used if we implement an internal cache to the engine, which is now a small addition to this patch. I'd like to see origin.reload go away but it's

Re: GSoC 2015: Template engine optimisation

2015-03-11 Thread Preston Timmons
Hi Oleksii, I found that cProfile isn't that helpful when rendering templates. There are a lot of function calls and the output is too verbose to really reveal where Django spends it's time. Also, keep in mind that rendering is only one step of the template cycle, and usually only a small part

Re: GSoC 2015: Template engine optimisation

2015-03-12 Thread Preston Timmons
> > After a while I believe layers and layers of caution have accrued, and > nobody is sure any more where these have overlapped excessively. > Do you have examples of which layers these are? Escaping seems to happen in Variable, VariableNode, FilterExpression, and render_value_in_context. I d

Re: GSoC 2015: Template engine optimisation

2015-03-12 Thread Preston Timmons
was worth sharing my > findings since - particularly in the context of Preston's suggestion that > we might find a bottleneck - I don't think there is one particular > bottleneck. > > Our "solution" for now has been to speed up the processors in our servers &g

Re: Two phase cleaning of models/forms

2015-03-25 Thread Preston Timmons
There are times when I've definitely wanted this feature. Particularly, when multiple fields on a form have this type of constraint. Putting all the logic in the clean method gets convoluted. -- You received this message because you are subscribed to the Google Groups "Django developers (Con

Re: Two phase cleaning of models/forms

2015-04-02 Thread Preston Timmons
Since I think this can be a useful feature, I'll explain why. One use case is for validating address forms. We deal with a lot of them with varying levels of validation based on country, state, zip code, etc. Sometimes, multiple sets of address fields appear on the same form. We can't simply reuse

Re: Two phase cleaning of models/forms

2015-04-02 Thread Preston Timmons
Yep, I think you're right now. Given existing solutions there's not warrant enough to add another built-in validation hook. Preston -- You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group. To unsubscribe from this

Template-based widget rendering

2015-06-10 Thread Preston Timmons
Hi all, I've been working through solutions for #15667 -- template based widget rendering. This is a problem that was close to a solution at one time, but stalled out due to performance concerns and difficulties with defining a workable API to create configurable template loaders. Now that Jinja2

Re: Template-based widget rendering

2015-06-10 Thread Preston Timmons
Hi Carl, Thanks for the feedback. I agree with your suggestions. I didn't think about running a check for a combination of INSTALLED_APPS and a loader with APP_DIRS. That would be sufficient for customizing loading. I'll update and convert this to a PR. Preston -- You received this message bec

Re: Proposal: deprecate and remove egg template loader

2015-07-13 Thread Preston Timmons
+1. Eggs have reached the point of obsolescence. -- 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-developers+unsubsc

Re: Allow custom "BoundFields" on forms and make BoundField public API

2015-08-13 Thread Preston Timmons
Hi Moritz, Is the purpose of this patch to have a more convenient form of this: {% for choice in form.foo.field.choices %} {{ choice.0 }} {{ choice.1 }} {% endfor %} I'm not necessarily against the idea, but your patch seems to encourage looping over the field choices rather than the widget c

Re: Allow custom "BoundFields" on forms and make BoundField public API

2015-08-13 Thread Preston Timmons
> > Yes I know that you can access the Field instance but it wouldn't be > possible to do {{ field.field.city }} since a Field is not supposed to > have any data stored with it. > This makes sense to me. Feel free to make a ticket and attach your PR once it's ready for review. Preston -- Y

Re: Make template caching a feature of the Django template engine

2015-12-18 Thread Preston Timmons
When I created my initial branch for this, it was easy enough to auto reload a file once it changed, but it was difficult to deal with template directory precedence. For instance, if `admin/base.html` was cached, but a custom `admin/base.html` was added in a loader or directory with higher prec

Direction on #10899

2010-10-25 Thread Preston Timmons
Hi, Could one of the core devs take a look over #10899 and give some guidance on what the best step to take next is? Thanks. Preston -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-develop...@goo

Re: RFC: Templatetag API for form rendering

2011-05-23 Thread Preston Timmons
This looks interesting so far. How does setting the form layout affect rendering individual fields in a form? Is the output of {% renderform my_form "first_name" %} equivalent to {{ form.first_name }}, or is it more like the output of "as_p" or "as_table"? Which templates are involved in a form l

Re: Form Rendering API Proposal

2011-06-23 Thread Preston Timmons
This looks excellent so far. Do {% formfield %} and {% formrow %} accept context like {% form %} does? Is there a way with {% formfield %} or {% formrow %} to set custom attributes like placeholder, autocorrect, etc.? I find this common requirement when optimizing forms for mobile devices. Thank

Patch status for ticket #9122

2009-03-19 Thread Preston Timmons
Ticket #9122 Inline admin on generic relations ignores exclude and max_num http://code.djangoproject.com/ticket/9122 Might somebody be able to review the patch and tests for this ticket to see if they are acceptable? I am hoping it can get in as a bug fix for 1.1. If something is lacking here I w

Re: Patch status for ticket #9122

2009-03-20 Thread Preston Timmons
normal inline options. http://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-options I thought I would mention that because it seems like a feature is already documented as working. Preston On Mar 19, 8:54 pm, Brian Rosner wrote: > On Mar 19, 2009, at 5:47 PM, Preston Timm

Re: Dallas 1.1 sprint - dates?

2009-04-03 Thread Preston Timmons
I would be interested in coming as well. On Apr 3, 9:50 am, Jeremy Dunck wrote: > Gary, Justin? > > On Fri, Apr 3, 2009 at 9:47 AM, Alex Robbins > > > > wrote: > > > I live in the Dallas area and would be interested in coming, whenever > > it happens. > > > On Apr 2, 12:45 pm, Jeremy Dunck w

Re: Dallas 1.1 sprint - dates?

2009-04-03 Thread Preston Timmons
of mine as well. > > > > On Apr 3, 12:33 pm, Preston Timmons wrote: > > >> I would be interested in coming as well. > > > I assume you guys are OK with either weekend, then? > > > Brett --~--~-~--~~~---~--~~ You received this

Re: Template-based widget rendering

2016-05-10 Thread Preston Timmons
+1. I like the simpler fallback solution Carl has suggested also. Preston -- 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

Re: Template-based widget rendering

2016-05-11 Thread Preston Timmons
Hey Curtis, I think you're asking how this patch will help with form and field layouts? If so, not that much. It only addresses moving the widget HTML that currently is hardcoded in Python into templates. For example, compare: https://github.com/django/django/blob/master/django/forms/widgets.py#

Re: Problem with caching template loader

2016-07-07 Thread Preston Timmons
Yep, that looks wrong. Looks like it was added in this commit: https://github.com/django/django/commit/f33db5a09acfc3df3085235a5712c46094eb9a0d The test case could be improved also by checking the appropriate key is set. Preston -- You received this message because you are subscribed to the Go

Re: Exceptions caught by the "include" template tag make it hard to rely on tests

2016-07-12 Thread Preston Timmons
>From my experience the silent failure is more confusing than helpful. I like Jinja's approach here that enables missing templates to be explicitly silenced when desired, i.e.: {% include "sidebar.html" ignore missing %} Preston -- You received this message because you are subscribed to the G

Re: Template-based widget rendering

2016-12-03 Thread Preston Timmons
Carl, The default renderer is backwards-compatible with no settings changes, > and does not require Jinja2, but it still allows overrides/additions of > widget templates. It's also standalone-compatible, in that it is > self-contained and has no dependency on TEMPLATES config. I like this id