tickets
3,748 rows where resolution = "wontfix" sorted by resolution
This data as json, CSV (advanced)
Suggested facets: stage, type, severity, easy, has_patch, needs_better_patch, needs_tests, needs_docs, ui_ux, changetime (date), last_pulled_from_trac (date)
created (date) >30 ✖
- 2005-07-13 10
- 2007-09-14 7
- 2008-09-10 6
- 2011-06-20 6
- 2005-07-20 5
- 2005-08-21 5
- 2006-05-08 5
- 2006-06-07 5
- 2006-07-24 5
- 2006-09-28 5
- 2007-05-09 5
- 2007-07-28 5
- 2007-08-29 5
- 2007-12-02 5
- 2008-01-28 5
- 2008-07-17 5
- 2009-03-24 5
- 2009-04-02 5
- 2009-05-04 5
- 2009-08-06 5
- 2010-01-02 5
- 2020-05-10 5
- 2005-07-18 4
- 2006-05-12 4
- 2006-10-02 4
- 2006-10-12 4
- 2006-12-07 4
- 2007-01-24 4
- 2007-02-26 4
- 2007-02-28 4
- …
id | created | changetime | last_pulled_from_trac | stage | status | component | type | severity | version | resolution ▼ | summary | description | owner | reporter | keywords | easy | has_patch | needs_better_patch | needs_tests | needs_docs | ui_ux |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
5 | 2005-07-13 19:08:56 | 2007-02-25 17:31:18 | 2022-03-06 03:19:23.798789 | Design decision needed | closed | Metasystem | enhancement | normal | wontfix | Add a cache=NUM_SECONDS argument to QuerySet | It'd be convenient for the lookup API to have caching baked in. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
11 | 2005-07-13 19:17:13 | 2007-07-03 23:03:30 | 2022-03-06 03:19:24.708876 | Ready for checkin | closed | Metasystem | defect | minor | wontfix | replaces_module should handle "admin" more intelligently | Currently if you add or remove fields via the {{{replaces_module}}} framework, you have to redefine {{{admin}}} for the object. Ideally {{{admin}}} would be handled automatically. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
14 | 2005-07-13 19:20:55 | 2008-01-14 18:07:24 | 2022-03-06 03:19:25.261243 | Accepted | closed | contrib.admin | defect | normal | wontfix | PIE-IN-THE-SKY: Add spell-check capability to admin textareas | It'd be nice if every textarea throughout our admin offered users the option to spell-check its contents. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
17 | 2005-07-13 19:25:18 | 2019-12-17 11:37:56 | 2022-03-06 03:19:26.110232 | Accepted | closed | Database layer (models, ORM) | New feature | Normal | dev | wontfix | Metasystem optimization: Share select_related in memory | When using {{{select_related}}}, each cache is stored separately in memory. For example, each Choice object here has its Poll cached, but each of those caches is a separate object in memory. It would require less memory if the caches were references to the same Poll object. {{{ >>> from djangomodels.polls import choices >>> choice_list = choices.get_list(poll__id__exact=90, select_related=True) >>> id(choice_list[0]._poll_cache) -156344020 >>> id(choice_list[1]._poll_cache) -156344084 }}} | PhiR | adrian | feature caching | 0 | 1 | 1 | 0 | 1 | 0 |
18 | 2005-07-13 19:26:27 | 2007-07-03 23:03:51 | 2022-03-06 03:19:27.157564 | Unreviewed | closed | Database layer (models, ORM) | enhancement | normal | wontfix | Metasystem optimization: Don't select duplicate fields | In the following query, "poll_choices.poll_id" and "polls.id" are the same value. Only one of them needs to be selected: {{{ SELECT poll_choices.id,poll_choices.poll_id,poll_choices.choice, poll_choices.votes, polls.id,polls.slug,polls.question,polls.pub_date, polls.expire_date FROM poll_choices, polls WHERE poll_choices.poll_id = polls.id }}} | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
19 | 2005-07-13 19:31:17 | 2021-05-10 19:10:04 | 2022-03-06 03:19:27.337791 | Design decision needed | closed | Validators | enhancement | minor | new-admin | wontfix | Automatically generate JavaScript form validation | Django should generate JavaScript form validation for all admin pages, in addition to the server-side validation it already does. Each FormField object already gets an HTML class of the type of field it is (e.g. "vCheckboxField", "vEmailField", "vTextField"), so we can probably build off of that. OR, we could use {{{XMLHttpRequest}}} to send each field individually and validate everything *server-side*. ====================================================== I've given some more thought to this. We could set up a view that validates a given field via XMLHttpRequest, like this: admin.6newslawrence.com/validate_field/polls/polls/question/?value=blah (The "value=blah" would be POST data, not GET data.) But here's a problem: What do we do for validators that expect all_data, i.e. the ones that validate a field according to the value of another field? We could solve that by only using dynamic JavaScript? validation to check single fields and using server-side validation for the rest -- but it's a usability problem if some validation errors appear instantly and others appear after form submission. | adrian | adrian | validators | 0 | 0 | 0 | 0 | 0 | 0 |
23 | 2005-07-13 19:34:33 | 2013-10-15 09:17:25 | 2022-03-06 03:19:30.445855 | Accepted | closed | Forms | New feature | Normal | wontfix | Add support for ValidationWarning | We've talked in the past about how useful it would be to let certain validators throw ValidationWarning instead of ValidationError. A ValidationWarning, when thrown, would still redisplay the admin form but display an additional checkbox above the field. If that checkbox is checked when the form is submitted, the error is ignored. The change would have to be made in django/core/formfields.py. | jgeskens | adrian | 0 | 1 | 1 | 0 | 1 | 1 | ||
24 | 2005-07-13 19:35:15 | 2008-08-21 16:09:48 | 2022-03-06 03:19:30.618279 | Design decision needed | closed | Metasystem | defect | normal | wontfix | edit_inline support for OneToOne relationships | An object should be able to edit a OneToOne related object inline on the original object's page. For example, users should be able to edit lawrence.com Restaurants on the Place admin screen. (Restaurants are a one-to-one extension of Places.) | nobody | adrian | subclassing | 0 | 0 | 0 | 0 | 0 | 0 | |
26 | 2005-07-13 19:36:46 | 2012-01-19 12:53:15 | 2022-03-06 03:19:30.935713 | Design decision needed | closed | contrib.admin | Uncategorized | minor | newforms-admin | wontfix | Admin validation errors cause FileUploadFields to be reset | Phil said: {{{ <pcauthon> if, say, the turnpike episode, event, etc admin kicks back with an error, you have to rebrowse to upload the pics. only really aggravating on turnpike episodes where there are 6 pics to browse for }}} JavaScript form validation could be a clean fix for this. | nobody | adrian | nfa-someday | 0 | 0 | 0 | 0 | 0 | 0 |
29 | 2005-07-13 19:43:02 | 2015-11-07 09:54:25 | 2022-03-06 03:19:31.418555 | Someday/Maybe | closed | contrib.admin | Bug | Normal | dev | wontfix | Fix usability issue with limit_choices_to and "Add another" in admin | {{{ django34: We have the ability to put a customized limit/filter on which related objects get displayed in select boxes. For instance, the "photographer" field on the "Add photo" form only displays the "Staff members" that have shoots_photos=True. django34: This results in some usability problems, though, because if a producer doesn't see a person's name in the list, he might click "Add another..." instead of checking to make sure the person isn't in "Staff members" and doesn't have "shoots_photos" checked. django34: Does this make sense? wilson: kind of wilson: what page would that case appear on django34: Here's an example... django34: The "Photographer" select box includes *only* the staff members that have shoots_photos=True. django34: So if a producer doesn't see a photographer in there, he might click "Add another...", which would create an entirely new staff member. But it might be the case that the staff member DOES exist, just doesn't have shoots_photos=True checked. wilson: if the staff member did exist, would it let them add them again? django34: Yes, as long as the slug was different. django34: The only way I can think of to fix this would be to have some sort of "Showing only photographers [Show all staff members]" link. Or to eliminate the filtering altogether. wilson: i was going to suggest a "show all staff" link wilson: yes, that is my suggestion wilson: "show all staff" link next to the select wilson: then "show photographers only" when the filter is off django34: All right. }}} | nobody | adrian | 0 | 0 | 0 | 0 | 0 | 1 | |
41 | 2005-07-17 03:46:55 | 2007-07-03 23:03:22 | 2022-03-06 03:19:33.293160 | Unreviewed | closed | Core (Other) | enhancement | normal | wontfix | allow for multiple user identities with access rights to the database | The current design assumes that only one user identity will be used for all database operations - from creating the database through inits and on to access from mod_python. This makes it very difficult to use ident auth (suitable for small, single host setups) and may be an issue even whent hat's not an issue. It's probably not too hard to remove this limitation. requires * a setup option to list other user ids to be allowed access * generate SQL GRANT statement(s) whenever a table is created (sequences too?!) And I think that's about it, at least for postgres. | adrian | maney@two14.net | 0 | 0 | 0 | 0 | 0 | 0 | ||
51 | 2005-07-17 23:39:39 | 2007-07-03 22:54:15 | 2022-03-06 03:19:34.866064 | Ready for checkin | closed | Metasystem | enhancement | normal | 1.0 | wontfix | Create add_* methods for objects with a many-to many-relationship | Objects with a many-to-one relationship have an add_object method for adding the type of object on the "many" end of the relationship to the list of values within the type of object on the "one" end of the relationship. Objects with a many-to-many relationship, however, are lacking these methods. For example: two objects, Set and Tag, have a many-to-many relationship. The Set object should have an add_tag method and the Tag method should have an add_set method. | adrian | jcernelli@gmail.com | 0 | 0 | 0 | 0 | 0 | 0 | |
55 | 2005-07-18 05:42:08 | 2007-07-03 23:03:50 | 2022-03-06 03:19:35.483780 | Accepted | closed | Tools | defect | normal | wontfix | add a logger to django | insert the block into django.conf.settings file at line 32. {{{ #python a = me.SETTINGS_MODULE.split( '.' ) if 'settings' in a: idx = a.index( 'settings' ) if idx > 0: projname = a[idx-1] projmod = __import__( projname , '', '', ['']) else: projname = 'django' import django as projmod logdir = os.path.split( projmod.__file__ )[0] + os.sep + 'logs' if not os.access( logdir , os.W_OK ): raise 'Cannot write log file in dir: ' + logdir import logging logger = logging.getLogger( projname ) hdlr = logging.FileHandler( logdir + os.sep + projname + '.log' ) formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') hdlr.setFormatter(formatter) logger.addHandler( hdlr ) logger.setLevel( logging.DEBUG ) __builtins__['log'] = logger log.info( 'project logger start' ) }}} make sure you have created 'logs' folder at your project or django src. then you can use log object anywhere. ATTENTION: NOT fully tested. | adrian | james | log | 0 | 0 | 0 | 0 | 0 | 0 | |
56 | 2005-07-18 08:23:54 | 2021-04-07 08:10:50 | 2022-03-06 03:19:35.610334 | Unreviewed | closed | Database layer (models, ORM) | New feature | Normal | dev | wontfix | Primary key columns should be UNSIGNED | This gets you twice the integer space, and seems to me to be a nice sanity check. Don't know if the same would go for Postgres. Not enough into the code right know to produce a patch myself. | caioariede | Manuzhai <mail@manuzhai.nl> | mysql | 0 | 1 | 0 | 0 | 0 | 0 |
66 | 2005-07-18 16:57:22 | 2007-07-03 23:03:50 | 2022-03-06 03:19:37.305226 | Design decision needed | closed | Core (Other) | defect | normal | wontfix | [patch] Give views access to application root from urlconf | When using include with urlpatterns, there should be a variable available to the views that will give us the root of the application. For instance, for: {{{ (r'^polls/', include('myproject.apps.polls.urls.polls')), }}} ...it would be "/polls/". | adrian | slashzero | 0 | 1 | 0 | 0 | 0 | 0 | ||
77 | 2005-07-18 23:55:33 | 2007-07-03 23:03:24 | 2022-03-06 03:19:39.048107 | Ready for checkin | closed | Database layer (models, ORM) | enhancement | minor | wontfix | The PostgreSQL code should use schemas instead of prefixes for namespaces. | Rather than append App_ before every table in PostgreSQL, you should use Schemas http://www.postgresql.org/docs/8.0/static/ddl-schemas.html. That's what they're there for, and it makes the database much more readable. | adrian | RahmCoff@Radio1190.org | 0 | 0 | 0 | 0 | 0 | 0 | ||
101 | 2005-07-20 01:28:53 | 2006-08-29 10:50:06 | 2022-03-06 03:19:45.011425 | Unreviewed | closed | Core (Management commands) | enhancement | normal | wontfix | Add functionality to django-admin to create skeleton views | You should be able to do something like {{{django-admin.py createview APPNAME VIEWNAME method1 method2 ...}}} and having {{{apps/APPNAME/views/VIEWNAME.py}}} created and filled with some sensible template (eg., comments on how to create methods, etc.) With a bit of work, it could be possible even modifying {{{apps/APPNAME/urls/APPNAME.py}}} to point to the new methods. See the attached patch. | adrian | ricardo@conysis.com | 0 | 0 | 0 | 0 | 0 | 0 | ||
117 | 2005-07-20 18:25:32 | 2007-07-03 23:04:07 | 2022-03-06 03:19:47.720239 | Unreviewed | closed | *.djangoproject.com | enhancement | normal | wontfix | Site search and/or Trac search for djangoproject.com | According to TracSearch, Trac has a neat feature where you can enter bug numbers, changeset codes etc in to the search box to jump directly to that item within Trac. It would be useful if the Trac search box was added to the templates for code.djangoproject.com in the same place on every page (it might work in the top right in the light green bar, below the Home / Download / etc links). Even better - how about adding search to the whole of the djangoproject.com website? It would be very handy for searching through the growing piles of documentation, not to mention the comments. | jacob | Simon Willison | 0 | 0 | 0 | 0 | 0 | 0 | ||
119 | 2005-07-20 19:42:19 | 2006-10-22 16:18:52 | 2022-03-06 03:19:48.032022 | Unreviewed | closed | Core (Other) | enhancement | normal | wontfix | Serving media | There is currently no way of serving media through Django, which might be alright for mod_python as it's counting on Apache, but the WSGI server doesn't have such benefits. | adrian | brantley (deadwisdom@gmail.com) | media wsgi images | 0 | 0 | 0 | 0 | 0 | 0 | |
125 | 2005-07-20 22:13:00 | 2007-07-03 23:03:55 | 2022-03-06 03:19:48.943232 | Ready for checkin | closed | contrib.admin | defect | normal | wontfix | View-Controller separation violation | For example, django.views.admin.main: {{{ if lookup_opts.admin.search_fields: raw_template.append('<div id="toolbar">\n<form id="changelist-search" action="" method="get">\n') raw_template.append('<label><img src="%simg/admin/icon_searchbox.png" /></label> ' % ADMIN_MEDIA_PREFIX) raw_template.append('<input type="text" size="40" name="%s" value="%s" id="searchbar" /> ' % \ (SEARCH_VAR, escape(query))) }}} Shouldn't it be done only with templates? | adrian | maurycy | 0 | 0 | 0 | 0 | 0 | 0 | ||
127 | 2005-07-20 22:20:16 | 2007-07-12 08:02:24 | 2022-03-06 03:19:49.185694 | Unreviewed | closed | Documentation | defect | normal | wontfix | Documentation how to setup djangoproject.com | Tutorial introduces only trivial application. There should be document describing more complicated one, for example djangoproject.com. Not necessary architecture and details, but how to setup and play with. | jacob | maurycy | 0 | 0 | 0 | 0 | 0 | 0 | ||
130 | 2005-07-21 02:30:54 | 2007-07-03 23:04:15 | 2022-03-06 03:19:49.563314 | Ready for checkin | closed | *.djangoproject.com | enhancement | normal | wontfix | Display comments in Trac timeline | Jacob figured out how to do this on our internal Trac installation. Let's do it here, too. | jacob | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
165 | 2005-07-22 18:07:44 | 2006-10-07 21:16:40 | 2022-03-06 03:19:55.408966 | Unreviewed | closed | Core (Other) | defect | normal | wontfix | Should mod_python config use PythonOption instead of SetEnv for settings? | I'm not sure what does this for performance (probably not bad, though), but it surely ameliorates compatibility with mod_python-2 (and therefore apache-1, a whole suite of webhosts). Why was SetEnv chosen in the first place? | adrian | Manuzhai | 0 | 0 | 0 | 0 | 0 | 0 | ||
175 | 2005-07-24 15:48:38 | 2006-10-22 16:39:55 | 2022-03-06 03:19:57.353322 | Unreviewed | closed | Database layer (models, ORM) | defect | normal | wontfix | select_related does not work in both directions.. | comparing the following two statements: {{{ >>> for p in polls.get_list(select_related=True): print p, p.get_choice_list() >>> for c in choices.get_list(select_related=True): print c.get_poll(), c }}} The first statement runs one query per poll, while the second runs one query no matter how many polls you have. This seems to be because the information about what models are related to each other does not get added to both ends of the relationship... now this is not 100% true because a poll obviously knows about what choices reference it... My guess is that there needs to be a OneToMany class that compliments the ManyToOne relationship, letting the Poll class know that select_related should pull in choices. | adrian | Justin | select_related | 0 | 0 | 0 | 0 | 0 | 0 | |
190 | 2005-07-25 14:09:46 | 2005-08-01 05:46:24 | 2022-03-06 03:20:02.137205 | Unreviewed | closed | Template system | defect | normal | wontfix | Add which template a syntax error is occurring in when you raise TemplateSyntaxErrors | Right now, if there's a TemplateSyntaxError, django throws an exception telling you what's missing, or what's gone wrong. It would be nice for Django to tell me in which of the various nested templates I'm using on any given URL the syntax error occurs. Even better if you could manage a line number. | adrian | Moof <moof@metamoof.net> | 0 | 0 | 0 | 0 | 0 | 0 | ||
215 | 2005-07-27 20:26:28 | 2007-07-03 23:04:58 | 2022-03-06 03:20:06.614681 | Accepted | closed | Database layer (models, ORM) | defect | normal | 1.1 | wontfix | Need to generate postgresql tables WITHOUT OIDS by default | When generating tables in Postgresql, django doesn't specify WITHOUT OIDS, which in Postgresql 7.4 or older (don't know about 8) results in tables that consumes the installation-wide OIDS. Most of the time this is unnecessary and undesirable. It would be good if the user is given a choice to specify WITH OIDS if they really know what they are doing. | adrian | wgunadi@nextcoder.net | OIDS | 0 | 0 | 0 | 0 | 0 | 0 |
235 | 2005-07-30 16:36:51 | 2015-07-07 00:33:02 | 2022-03-06 03:20:10.078861 | Unreviewed | closed | Metasystem | defect | normal | wontfix | meta.HashField() | It's very common to save passwords this way: {{{ class Test(meta.Model): fields = ( meta.CharField('username', 'username', maxlength=64), meta.CharField('password_md5', 'password MD5 hash', maxlength=32), ) }}} As you see, MD5 hash of the password is saved in !meta.CharField field. Aside of limiting to only MD5 hash, programmer has to remember length of the generated hash and during read or write to handle it with her or his own functions on the Python layer, like md5. My proposal is to create ''meta.HashField()'' field, which would preserve programmers time and take care on these common operations, as they could be done on database-side with bult-in functions like MD5() or other. It would also can support param ''type'' specifing which hash algorith to use. | adrian | maurycy | 0 | 0 | 0 | 0 | 0 | 0 | ||
244 | 2005-08-01 16:27:26 | 2005-08-02 20:00:29 | 2022-03-06 03:20:11.435584 | Unreviewed | closed | Metasystem | enhancement | normal | wontfix | [patch] Make new get_values() function more forgiving of mistakes | Thanks for applying my patch from #214! There's one part of it that got omitted, though, and I'm wondering why: it's the part that Does The Right Thing if the user passes a string for the fields=... kwarg. When testing the patch, I found that when I only wanted one field, it was a natural mistake to forget to pass it as a list. I was doing things like "{{{get_values(fields='name', distinct=True}}}" instead of "{{{get_values(fields=['name'], distinct=True}}}". And this was my own code I was calling: if I was making that mistake, others will be also. In the same spirit as [213], I think we should be more forgiving of this mistake: what the user meant is unambiguous, so there's no harm in allowing it. Here's a patch to implement this idea: {{{ Index: django/core/meta.py =================================================================== --- django/core/meta.py (revision 359) +++ django/core/meta.py (working copy) @@ -1100,6 +1100,10 @@ except KeyError: # Default to all fields. fields = [f.name for f in opts.fields] + if isinstance(fields, basestring): + # Be forgiving of mistakes: convert to list + fields = [fields] + cursor = db.db.cursor() _, sql, params = function_get_sql_clause(opts, **kwargs) select = ['%s.%s' % (opts.db_table, f) for f in fields] }}} | adrian | rmunn@pobox.com | 0 | 1 | 0 | 0 | 0 | 0 | ||
247 | 2005-08-02 14:19:20 | 2007-07-03 23:04:54 | 2022-03-06 03:20:11.855299 | Accepted | closed | *.djangoproject.com | enhancement | normal | wontfix | Webpage to list web hosts | It would be useful to have a webpage (preferably Wiki) where web hosts supporting Django can be listed and found. The following is a suggested layout (with supported installation methods in italics) ---- [http://example.com/ Example Host] - Some description about the provider, this can be a paragraph of text so that they can express all the information they wish to. ''mod_python, fcgi'' [http://example.com Lame Host] - Some support for some applications and other stuff that is stuff and that stuff is stuff too. ''cgi'' [http://example.com Boring.net] - Support for nothing but everything and everything that is nothing, except when it isn't. ''mod_snake'' | jacob | Eric Windisch | 0 | 0 | 0 | 0 | 0 | 0 | ||
265 | 2005-08-04 11:24:01 | 2007-11-13 16:35:45 | 2022-03-06 03:20:14.525142 | Accepted | closed | Core (Other) | defect | normal | wontfix | Patch: RequiredIfOtherField and friends don't work with edit_inline | They look at the all_data hash and that contains all lines of the inline editing table and so they don't find the other field. Maybe this could be changed in that validators on fields that are part of an edit_inline only get passed in a dictionary of those keys that relate to their row, with bare fieldnames (without the table.rownumber prefix)? That way those combined validators could work with inline tables, too. Otherwise any validator that uses all_data to look at other fields will break. | nobody | hugo <gb@bofh.ms> | 0 | 1 | 0 | 1 | 0 | 0 | ||
277 | 2005-08-05 06:51:30 | 2005-08-15 16:30:48 | 2022-03-06 03:20:16.502952 | Unreviewed | closed | Core (Other) | defect | normal | wontfix | CommonMiddleware URL rewriting discards POST data | The CommonMiddleware URL rewriting discards any POST data when it is triggered. This code in django/middleware/common.py needs to be fixed to pass along any possible POST data with the redirect. {{{ if new_url != old_url: # Redirect newurl = "%s://%s%s" % (os.environ.get('HTTPS') == 'on' and 'https' or 'http', new_url[0], new_url[1]) if request.GET: newurl += '?' + urlencode(request.GET) return httpwrappers.HttpResponseRedirect(newurl) }}} But I don't know how to fix it :( | adrian | adrian@exoweb.net | 0 | 0 | 0 | 0 | 0 | 0 | ||
284 | 2005-08-06 15:39:23 | 2006-10-07 22:02:21 | 2022-03-06 03:20:17.518799 | Unreviewed | closed | *.djangoproject.com | defect | minor | wontfix | Request for https access to the svn repository | I'm getting the following error while trying to download django's source: ali@tux:~/nuevo$ svn co http://code.djangoproject.com/svn/django/trunk/ svn: REPORT request failed on '/svn/!svn/vcc/default' svn: REPORT of '/svn/!svn/vcc/default': 400 Bad Request (http://code.djangoproject.com) Other people in the irc channel checked that the repo was ok at the same time, and been able to access others svn repositories which only diff consists in using https instead of http it seems that people like me behind a web proxy are unable to checkout django using http as transport protocol Best regards, Ali | jacob | ali@theholidayplace.co.cu | 0 | 0 | 0 | 0 | 0 | 0 | ||
289 | 2005-08-08 16:21:46 | 2011-07-08 04:19:57 | 2022-03-06 03:20:18.257063 | Accepted | closed | contrib.admin | defect | normal | wontfix | [patch] more details with "Please correct the errors below." | Sometimes this error appears in the admin side of a site, without actually showing any errors below it. This is most assuredly an error on the part of the developer, but with the multitude of things that can go wrong, this obfuscated error reporting surely doesn't help. | nobody | brantley (deadwisdom@gmail.com) | error please correct | 0 | 1 | 1 | 0 | 0 | 0 | |
298 | 2005-08-10 12:32:57 | 2006-10-22 16:03:31 | 2022-03-06 03:20:19.741605 | Unreviewed | closed | Core (Other) | enhancement | normal | wontfix | Need impovement to POST.copy() | When i need to change only few fields of model, for example only date_start field of Project, i need to pass a values of other fields like new_data variable into manipulator.* methods ('coz they are not present in POST) The only place of values of other fields is Project.__dict__ But manipulator.* methods expects new_data.values() like strings. And Project.__dict__ contains .values() like python-values. Also, new_data must be MultiValueDict So, i need to make new_data like this (it's a simple shortened example without checks): {{{ def start(req, p_id): """ Updates "start" information about project Such as start_date, start_people e.t.c. """ try: prj = projects.get_object(pk=rp_id) except projects.ProjectDoesNotExist: raise Http404 manipulator = projects.ChangeManipulator(prj.id) new_data = prj.__dict__ # all fields of Project errors = dict() if req.POST: #only tree fields changed, and values of them are in req.POST new_data = update_post(req.POST.copy(), new_data) errors = manipulator.get_validation_errors(new_data) mnp.do_html2python(new_data) mnp.save(new_data) }}} Where the update_post() is like this: {{{ def update_post(post, data): for key in data: if not key in post.keys(): if data[key]: post[key]=str(data[key]) else: post[key]='' return post }}} But it's easy to say: {{{ new_data = req.POST.copy(new_data) # default values like param #or new_data.update(req.POST) }}} or something like this... | adrian | mr_little | 0 | 0 | 0 | 0 | 0 | 0 | ||
313 | 2005-08-13 10:22:16 | 2010-02-22 09:42:16 | 2022-03-06 03:20:22.832455 | Unreviewed | closed | Internationalization | defect | minor | 1.0 | wontfix | PhoneNumberField should accept international format numbers | The {{{ PhoneNumberField }}} type should really validate according to international phone number rules -- right now tha validation seems to be American (XXX-XXX-XXXX) I am not sure if there is any standard for this apart from the initial "+" to denote the country code. | adrian | ronan@cremin.com | phonenumberfield | 0 | 0 | 0 | 0 | 0 | 0 |
326 | 2005-08-15 15:42:40 | 2011-11-17 16:06:56 | 2022-03-06 03:20:24.935250 | Accepted | closed | Database layer (models, ORM) | enhancement | normal | 1.0 | wontfix | IPAddressField in decimal format | == An IP address is stored in string format and allocating 15 bytes (120 bits) == But it would be possible convert that address to decimal format and store it in less bits. {{{ >>> import socket, struct >>> ip = "192.168.2.1" >>> q = ip.split(".") >>> n = reduce(lambda a,b: long(a)*256 + long(b), q) >>> n 3232236033L >>> socket.inet_ntoa(struct.pack('!I', n)) '192.168.2.1' }}} [http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/d4d9d1870a481568/] [http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/b2e259d7d55a6071/] | adrian | Bless | 0 | 0 | 0 | 0 | 0 | 0 | |
341 | 2005-08-17 09:28:06 | 2005-08-19 20:53:45 | 2022-03-06 03:20:28.391521 | Unreviewed | closed | contrib.admin | enhancement | normal | 1.0 | wontfix | unique option | When you use meta.ForeignKey ([] ,unique=True) or a field with 'choices=... ,unique=True' option, it would be well that the select box in form could show us the valid options only. | adrian | Bless | 0 | 0 | 0 | 0 | 0 | 0 | |
346 | 2005-08-17 16:54:18 | 2006-10-22 16:26:27 | 2022-03-06 03:20:29.057555 | Unreviewed | closed | Template system | defect | normal | wontfix | Template tag for the media_root variable | There should be a template tag for the media_root variable like there is one for the admin_media_root variable | adrian | slashzero | 0 | 0 | 0 | 0 | 0 | 0 | ||
347 | 2005-08-17 17:09:52 | 2011-08-10 10:51:42 | 2022-03-06 03:20:29.179577 | Unreviewed | closed | Database layer (models, ORM) | enhancement | normal | magic-removal | wontfix | Add setting for table generation to use a default MySQL table type | Allow the MySQL wrapper to create tables with the InnoDB engine, as opposed to just the system default which is typicall MyISAM. MyISAM does not support transactions and does nothing to ensure referential integrity. | adrian | jvoorhis@gmail.com | 0 | 0 | 0 | 0 | 0 | 0 | |
361 | 2005-08-18 13:57:26 | 2012-11-01 13:41:51 | 2022-03-06 03:20:31.031002 | Unreviewed | closed | Template system | defect | normal | wontfix | Some Basic Math Filters | This may be the wrong place to submit this... I wanted some basic math filters (eg. add multiply divide subtract), there is already add so I created the others, no doubt probably the easiest filters I could create, though someone else may find them useful. in django/core/defaultfilters.py {{{ def mult(value, arg): "Multiplies the arg and the value" return int(value) * int(arg) def sub(value, arg): "Subtracts the arg from the value" return int(value) - int(arg) def div(value, arg): "Divides the value by the arg" return int(value) / int(arg) template.register_filter('mult', mult, True) template.register_filter('sub', sub, True) template.register_filter('div', div, True) }}} | adrian | ilikeprivacy@gmail.com | filter math | 0 | 0 | 0 | 0 | 0 | 0 | |
366 | 2005-08-18 17:33:03 | 2006-10-07 15:06:09 | 2022-03-06 03:20:31.868748 | Unreviewed | closed | Documentation | defect | normal | wontfix | Document meta.LazyDate() technique | Off course when you got auto_now_add=True on your DateTimeField it does not show when you add a new item. Thats not whats bugging me, but when i edit the item i want the date/time fields to show, so that i can edit them. (I know about auto_now, but thats not what i'm after) | jacob | anonymous | 0 | 0 | 0 | 0 | 0 | 0 | ||
367 | 2005-08-18 22:36:35 | 2006-10-07 20:08:12 | 2022-03-06 03:20:31.992798 | Unreviewed | closed | Database layer (models, ORM) | defect | normal | wontfix | Wontfix: may be it's possible to add SQL_EXECUTE_AFTER_CONNECT setting? | It is an SQL-string that will be executed after connect to server. For examle to make some 'SET ..' comands in mysql. | adrian | mordaha@gmail.com | 0 | 0 | 0 | 0 | 0 | 0 | ||
369 | 2005-08-19 01:23:22 | 2005-08-19 15:01:02 | 2022-03-06 03:20:32.238345 | Unreviewed | closed | contrib.admin | defect | normal | wontfix | put the D back in CRUD for FileField | Allow FileFields to delete their files in the dynamic admin, as well as add and overwrite them. This would be extremely useful for nested admin setups where a file upload is optional - for example an editable tracklist with optional mp3 for an album view. | adrian | jvoorhis | 0 | 0 | 0 | 0 | 0 | 0 | ||
376 | 2005-08-20 15:29:27 | 2008-09-06 10:27:28 | 2022-03-06 03:20:33.180679 | Accepted | closed | Core (Other) | enhancement | normal | dev | wontfix | Add a handler for mod_python v. 2 (Django requires v. 3) | I've adapted the mod_python handler to also work on mod_python 2. The differences with the mod_python 3 are fairly small, but it's still somewhat incompatible. In addition, I think you need an index.py file to make it work with the '/' URL given to a basic address. Here's the config I'm using, I'll attach modpython2.py. {{{ <Location /> SetHandler python-program AddHandler python-program .py DirectoryIndex index.py PythonHandler django.core.handlers.modpython2 PythonPath "['/home/dirkjan/dev'] + sys.path" PythonInterpreter weblog.main PythonDebug On SetEnv DJANGO_SETTINGS_MODULE weblog.settings.main </Location> }}} | nobody | Manuzhai | 0 | 1 | 1 | 1 | 0 | 0 | |
377 | 2005-08-20 23:33:01 | 2006-10-31 14:53:23 | 2022-03-06 03:20:33.296029 | Unreviewed | closed | Generic views | defect | normal | wontfix | [patch] Allow template_name argument to django.views.auth.login.login | Its a bit restrictive being forced to use 'registration/login' as the template when using the login generic view. So I just added a template_name keyword argument (defaults to 'registration/login') to bring it in line with some of the other generic views. {{{ Index: django/views/auth/login.py =================================================================== --- django/views/auth/login.py (revision 541) +++ django/views/auth/login.py (working copy) @@ -7,7 +7,7 @@ REDIRECT_FIELD_NAME = 'next' -def login(request): +def login(request, template_name='registration/login'): "Displays the login form and handles the login action." manipulator = AuthenticationForm(request) redirect_to = request.REQUEST.get(REDIRECT_FIELD_NAME, '') @@ -23,7 +23,7 @@ errors = {} response = HttpResponse() request.session.set_test_cookie() - t = template_loader.get_template('registration/login') + t = template_loader.get_template(template_name) c = Context(request, { 'form': formfields.FormWrapper(manipulator, request.POST, errors), REDIRECT_FIELD_NAME: redirect_to, }}} | jacob | Adam Endicott <leftwing17@gmail.com> | auth login | 0 | 1 | 0 | 0 | 0 | 0 | |
378 | 2005-08-21 01:13:02 | 2005-08-21 18:32:42 | 2022-03-06 03:20:33.409868 | Unreviewed | closed | Tools | enhancement | normal | wontfix | django-admin.py should give feedback | I don't want to say "Django should be more like Rails", but the 'rails' script and all of the things in a Rails project's scripts/ directory emit useful feedback which is reassuring at the very least. The django-admin.py script emits nothing unless there is an error - that is, unless it is a command that generates SQL. This can be confusing. My proposal is to at least provide a summary of what is the command does. Another idea: move the sql-generating commands to a separate script. This will help users know what to expect from the admin scripts. | adrian | jvoorhis@gmail.com | django-admin.py | 0 | 0 | 0 | 0 | 0 | 0 | |
379 | 2005-08-21 01:28:02 | 2006-10-16 15:08:10 | 2022-03-06 03:20:33.541381 | Unreviewed | closed | *.djangoproject.com | defect | trivial | wontfix | Add OS, Python version, database version fields to ticket tracker | There should be fields for OS, Python Version, Database and Version in the bug tracking system and it should be kept cookily so it is automatically entered on subsequent tickets. | jacob | ssteiner | ticket, environment | 0 | 0 | 0 | 0 | 0 | 0 | |
382 | 2005-08-21 07:25:28 | 2005-08-27 10:02:52 | 2022-03-06 03:20:34.080867 | Unreviewed | closed | Core (Other) | defect | minor | wontfix | globals should show up in model methods and classes (like normal python classes) | I want to do this: {{{ import re class Note(meta.Model): #... def __repr__(self): if re.search(...) }}} Unfortunately, "re" isn't present in the namespace. The following exception occurs: {{{ File "c:\brendano\djblog\apps\blog\models\blog.py", line 25, in __repr__ if re.search(r'^\s*$', self.title): NameError: global name 're' is not defined }}} as a workaround I can just do "import re" inside the method. But the larger problem is, all module-level (global) variables don't appear inside any method namespaces. {{{ myglobal = 5 class Note(meta.Model): #... def __repr__(self): print myglobal }}} also gives the same error. In fact, a manual "global myglobal" statement fails to make it work. IMPORTANCE: so I guess the preferred django way of doing things is to make the model classes as sparse and declarative as possible. In that case the bug is a minor inconvenience. SUSPECTED CAUSE: maybe a bug in the ModelBase metaclass? SVN version: 541 | adrian | brenocon@gmail.com | 0 | 0 | 0 | 0 | 0 | 0 | ||
386 | 2005-08-21 17:32:08 | 2007-07-27 11:17:40 | 2022-03-06 03:20:34.661861 | Ready for checkin | closed | Core (Other) | defect | normal | wontfix | Use REDIRECT_FIELD_NAME for logout | The login page uses the handy dandy REDIRECT_FIELD_NAME to redirect to a specified URL, but the logout is missing this functionality. It does have a next_page view parameter, but I don't see a reason to do the same thing in two different places two different ways. | adrian | jcernelli@gmail.com | 0 | 0 | 0 | 0 | 0 | 0 | ||
388 | 2005-08-21 22:08:09 | 2005-08-22 18:25:15 | 2022-03-06 03:20:34.939864 | Unreviewed | closed | Metasystem | enhancement | normal | wontfix | Prefix for django table names | It's mentioned at http://www.djangoproject.com/documentation/legacy_databases/ you can't change the names of the django tables in the database. Proposal: use a prefix, like "_dj_", for all those tables. So you'd have in the database: _dj_sites _dj_packages _dj_content_types etc. This would make browsing your schema easier, since your application-specific schemas wouldn't be interspersed with django-specific metasystem tables in an alphabetical listing. It would also make migrating from legacy databases easier, or interoperation with non-django systems, or indeed any operation that requires direct use of the DB. | adrian | Brendan O'Connor <brenocon@gmail.com> | 0 | 0 | 0 | 0 | 0 | 0 | ||
398 | 2005-08-22 21:30:04 | 2007-07-03 23:06:18 | 2022-03-06 03:20:36.424681 | Design decision needed | closed | Template system | enhancement | normal | wontfix | [patch] {%define VAR as%}VALUE{%in%} tag | I submit two patches. The first patch modifies Parser.parse() to optionally pass its parse_until context to the do_* callbacks. This allows template tags to have scopes which are ended implicitly by the end of the enclosing scope. The second patch defines a {% define VAR as %} VALUE {% in %} construct. A typical use is: {{{ {% define title_var as%} {% block title %}The default title{% endblock %} {% in %} <html> <head> <title>{{title_var}}</title> </head> <body> <h1>{{title_var}}</h1> ... }}} Here, by redefining the title block, a template can set the title BOTH in the <head> and the <body> of the page. Many other uses are possible. Note that this is not an attempt to turn the Django template system into a full-fledged programming language, it's just sometimes convenient to declare a name for a value and refer to it later. I have put the define-tag in defaulttags.py because I feel that, as a language construct, defining new variable bindings is at the same level as FOR loops and IF statements. If you do not agree, I hope you will still accept the first patch, because it will allow me to put this define-tag in my own apps and still use them with a standard Django installation. (The define-tag uses the implicit ending feature introduced by the first patch.) | adrian | jvr_django@dory.blub.net | 0 | 1 | 0 | 0 | 0 | 0 | ||
402 | 2005-08-23 09:11:57 | 2007-07-03 23:06:00 | 2022-03-06 03:20:36.939803 | Ready for checkin | closed | contrib.admin | defect | trivial | wontfix | Site Domain Hardcoded | The Site domain (for the admin interface) seems to be hardcoded in the admin-templates. This should be changeable with the domainname from the database. | adrian | anonymous | 0 | 0 | 0 | 0 | 0 | 0 | ||
409 | 2005-08-23 19:52:54 | 2012-05-11 05:51:30 | 2022-03-06 03:20:38.051861 | Ready for checkin | closed | Database layer (models, ORM) | enhancement | normal | wontfix | Add support for sqlrelay backend, to pool DB connections | A [http://groups-beta.google.com/group/django-users/browse_frm/thread/21ecac21fcbcd0af/6a50bf1c98c4b6c4#6a50bf1c98c4b6c4 discussion] in the mailing list led to sqlrelay as being a good solution to limiting DB connections coming out of Django (among other benefits). I didn't see any activity over here, so I figured I'd open a ticket. | adrian | dustin@spy.net | database sqlrelay sql relay | 0 | 0 | 0 | 0 | 0 | 0 | |
410 | 2005-08-23 20:07:02 | 2007-07-03 23:06:10 | 2022-03-06 03:20:38.228798 | Ready for checkin | closed | Core (Management commands) | enhancement | normal | wontfix | 'django-admin validate' should note when meta.admin.fields is redundant | If {{{meta.admin.fields}}} is redundant, {{{django-admin.py validate}}} should display a notice. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
416 | 2005-08-25 09:59:06 | 2006-10-24 20:17:23 | 2022-03-06 03:20:39.092020 | Unreviewed | closed | contrib.admin | task | normal | 0.91 | wontfix | Automate site introspection for url pattern modules, view methods, template directories, and applications | Read this with your best over-the-top advertising voice: Are you sick of maintaining module-level URL configuration files? Do you keep forgetting to refer to them in your site-level URL configuration file? Have you recently forgotten to populate TEMPLATE_DIRS or INSTALLED_APPS? You need AUTOSITE! AUTOSITE has been brought to you by one programmer's bizarre tendency to spend two hours writing 300+ lines of code to replace around 30 lines of code that were taking him less than two minutes per day to maintain. His insanity is YOUR gain. If only 100 Django programmers benefit from this module, all his hard work will have been worthwhile. :) | adrian | garthk@gmail.com | 0 | 0 | 0 | 0 | 0 | ||
425 | 2005-08-26 17:13:10 | 2007-07-03 23:06:34 | 2022-03-06 03:20:41.222770 | Accepted | closed | Tools | enhancement | normal | wontfix | django.utils.images should have a thumbnail function | i just taught that django.utils.images should have a function that could create a thumbnail. | adrian | espen@grindhaug.org | 0 | 0 | 0 | 0 | 0 | 0 | ||
443 | 2005-08-31 04:57:21 | 2007-02-19 09:34:53 | 2022-03-06 03:20:43.923657 | Unreviewed | closed | Database layer (models, ORM) | defect | normal | wontfix | Date's of the form 0000-00-00 don't work | MySQL uses 0000-00-00 for some dates (as a default for non-null fields, among other things) This breaks the loader here: File "django/core/db/typecasts.py", line 8, in typecast_date return s and datetime.date(*map(int, s.split('-'))) or None # returns None if s is null ValueError: year is out of range Perhaps it should just return None instead? | adrian | mlambert@gmail.com | 0 | 0 | 0 | 0 | 0 | 0 | ||
449 | 2005-09-01 15:01:01 | 2006-06-01 03:58:38 | 2022-03-06 03:20:44.845496 | Unreviewed | closed | Template system | enhancement | normal | wontfix | [patch] variable selection for templates should allow negative list indexes | Currently you can access elements of a list by adding the numeric index - but you can only use positive indexes. This should be extended to negative indexes as well, so that you could last elements in lists. | adrian | hugo <gb@bofh.ms> | 0 | 1 | 0 | 0 | 0 | 0 | ||
450 | 2005-09-01 16:54:58 | 2006-06-12 12:10:42 | 2022-03-06 03:20:45.009964 | Unreviewed | closed | Generic views | normal | wontfix | [patch] Give generic views support for dynamic lookup keywords | I have a database with weather data with daily updates for each weather station in the area. My first thought was to use the date base generic views. I wanted to be able to specify the station_id in the url so that the url is something like /weather/KAPF/2005 , but the generic view will only allow you to specify extra lookup keywords in the url pattern module, not dynamically in the url. What I created was an extra argument called: 'dynamic_lookup_kwargs' Simply use that the same way as the extra_lookup_kwargs except that you use the url keyword name instead of a hard coded value. So for the pattern: {{{ (r'^(?P<station_id>\w{4})/(?P<year>\d{4})/$','archive_year', info_dict), }}} We would define the dynamic_lookup_kwargs as: {{{ info_dict = { ... 'dynamic_lookup_kwargs' : { 'station_id__exact' : 'station_id' } ... } }}} | jacob | slashzero | 0 | 1 | 0 | 0 | 0 | 0 | |||
455 | 2005-09-02 23:09:12 | 2006-10-13 21:17:42 | 2022-03-06 03:20:45.782527 | Unreviewed | closed | Core (Other) | enhancement | normal | wontfix | extend formfields.FormWrapper for a readonly mode | It would be cool if the FormWrapper class would accept an optional parameter readonly. If that parameter is True, the FormWrapper shouldn't generate input statements but just the stuff that would go into the value="" attribute of the input statement. This would allow to use the same template for editing data and for showing data if the logged in user doesn't have the right to edit that dataset - and all this without the need of an additional template or too much changes to the editing template. | adrian | hugo <gb@bofh.ms> | 0 | 0 | 0 | 0 | 0 | 0 | ||
458 | 2005-09-04 07:20:40 | 2011-09-28 16:12:21 | 2022-03-06 03:20:46.231336 | Unreviewed | closed | contrib.admin | defect | normal | 1.1-beta | wontfix | "View on site" doesn't link to model's get_absoulte_url() method | "View on site" button doesn't link to model's get_absolute_url() method, but shows something like '/r/12/1/'. It could be observed on the generic Users model. | adrian | igor@jahber.org | 0 | 0 | 0 | 0 | 0 | 0 | |
461 | 2005-09-05 07:25:59 | 2008-10-30 14:21:19 | 2022-03-06 03:20:46.735793 | Unreviewed | closed | Database layer (models, ORM) | enhancement | normal | wontfix | Support use of pypgsql instead of psycopg | I do not see any information on the generally excellent Django website about alternatives to psychopg as a PostGreSQL connector. I have been having some non-Django problems getting psychopg to work so it would be nice if there was another option such as pypgsql. While researching I did find this page: http://blog.vrplumber.com/968 so it seems that I am not the only one with this request. | adrian | tristanlawrence@gmail.com | 0 | 0 | 0 | 0 | 0 | 0 | ||
476 | 2005-09-09 16:27:28 | 2007-07-03 23:06:39 | 2022-03-06 03:20:49.101877 | Design decision needed | closed | Template system | enhancement | normal | 1.1 | wontfix | use vars values in template {{}} dotted style | What if I has two contexts: {{{ s1= Context({'person': {'first_name':'Homer', 'last_name':'Sympson'}, 'first_field':'first_name','second_field':'last_name'}) s2= Context({'person': {'first_name':'Homer', 'last_name':'Sympson'}, 'first_field':'last_name','second_field':'first_name'}) }}} and wish to render template accordinary to field ord? I wrote a tag to get a dictionary value, but I think it is ugly to write a tag when I want to take variable's field. May be better to make this possible: {{{ <h4>{{ first_field }}</h4><h3>{{ person.$first_field}}</h3> <h4>{{ second_field }}</h4><h3>{{ person.$second_field}}</h3> }}} or even: {{{ <h4>{{ first_field }}</h4><h3>{{ person.${first_field} }}</h3> <h4>{{ second_field }}</h4><h3>{{ person.${second_field} }}</h3> }}} or {{{ <h4>{{ first_field }}</h4><h3>{{ person.(first_field) }}</h3> <h4>{{ second_field }}</h4><h3>{{ person.(second_field) }}</h3> }}} or append to resolution order as a last resort: foo[Context[bar]] But it is error prone cause of nested resolution: person.(fields.(num)) could not be written without braces. Or maybe allow filters to access Context Object as Node.render do, then most tags could be implemented as filters and this task would be written simpler. Priority is low cause there are a bit of real life needs. But thinking that it can be possible makes me good. May be it will help to write custom form generator. | adrian | Sokolov Yura | 0 | 0 | 0 | 0 | 0 | 0 | |
503 | 2005-09-14 06:48:42 | 2005-11-01 01:12:29 | 2022-03-06 03:20:53.783096 | Unreviewed | closed | Core (Other) | enhancement | normal | wontfix | Field objects with required arguments shouldn't be keyword arguments. | Please consider making required arguments positional in the Field constructors. As far as I can tell this only applies to CharField which requires maxlength and FloatField which requires max_digits and decimal_places. It feels intuitive to have to enter these before the verbose_name argument in both of these cases, and reads very similar to the actual SQL as well. name = meta.CharField(32, "Account Name") [[BR]] balance = meta.FloatField(15, 2, "Current Balance") Assuming I can attach files to a ticket I'll attach a diff that updates Fields.py and the core models. I've done some cursory testing (of the tutorial models, both the admin and the user sites), but nothing extensive. | adrian | craig@batemanspace.com | 0 | 0 | 0 | 0 | 0 | 0 | ||
516 | 2005-09-15 14:32:42 | 2005-11-01 00:52:30 | 2022-03-06 03:20:56.096996 | Unreviewed | closed | Template system | defect | trivial | wontfix | Discrepancy in usage naming of login template file | The admin site uses a template directory of <django>/conf/admin_templates, and uses the login.html template file to present a login screen to the user. This name is determined by AdminUserRequired.get_login_template_name(). When TEMPLATE_DIRS for the admin site is pointed to the default templates at <django>/conf/admin_templates, the admin view correctly displays (since this directory contains login.html). However, the <django>/views/auth/login.py view, which is used by the @login_required decorator, references the template 'registration/login'. As a result, if you write a user site that utilizes @login_required, it is not possible to use the same setting for TEMPLATE_DIRS as is used by the admin view. There are two possible (mutually exclusive) fixes: 1) modify AdminUserRequired.get_login_template_name() to return 'registration/login', rather than 'login' 2) modify views/auth/login.py to reference 'login', rather than 'registration/login' I'm not certain which of the two is 'correct', and Django applications work fine without this change (as long as you provide your own login template) but having a default setting for login_required which is incompatible with the default directory layout seems broken. | adrian | freakboy@iinet.net.au | 0 | 0 | 0 | 0 | 0 | 0 | ||
524 | 2005-09-19 08:59:50 | 2005-09-19 13:15:48 | 2022-03-06 03:20:57.411163 | Unreviewed | closed | Core (Other) | defect | normal | wontfix | Numerous excessive selects in the manipulator | The default ChangeManipulator does a number of selects on the database which I don't want. This enlarges the DB load significantly. How to get rid of that? The selects I mean are: 1. first it gets the original object that it is supposed to work on (even though the generic view it is invoked from does that anyway) 2. then it gets a list of objects that this one refers to, for each ForeignKey field (and I don't want that) | adrian | wojtek3@brandlay.com | 0 | 0 | 0 | 0 | 0 | 0 | ||
542 | 2005-09-23 05:24:09 | 2006-02-27 18:48:00 | 2022-03-06 03:21:00.520827 | Design decision needed | closed | contrib.admin | enhancement | trivial | wontfix | [patch] Add an "or cancel" link to add, edit, and delete admin views. | When creating, editing, or deleting an object in the admin views, it would be nice if there was a "cancel" link to allow the user to "go back safely". Only 4 total lines of code are affected by this change. | wilson | Jason Huggins | cancel link | 1 | 0 | 0 | 0 | |||
549 | 2005-09-23 14:05:52 | 2006-01-15 00:35:43 | 2022-03-06 03:21:01.835122 | Unreviewed | closed | Core (Other) | enhancement | normal | wontfix | StaticField formfield | Hugo recommended something similar but on a "per form" level. However, I would like to see a StaticField form field. The field would simply return the data when rendered. Here is a use case. I work for Bertelsmann and run a program that creates replacements for Books On Tape and Random House audio for their product line that is sold to libraries. Audio books have several components. The schema has a parent table called "product" with a child table "component." The components are designated, component #1, component #2.... componentnum is set to editable=false in the model. This causes a problem when using manipulators in that the editable field does not come through as it is not editable and is therefore not in the 'form' context variable. I need this field to properly label the rows when editing and need them in the proper context of the form as they are labels. I have added a StaticField in formfields.py for my own use and it works fine subclassing the manipulators to add it. What I am requesting is: #1 a StaticField {{{ class StaticField(FormField): def __init__(self, field_name): self.field_name = field_name def render(self, data): if data is None: data = '' if isinstance(data, unicode): data = data.encode('utf-8') return data def html2python(data): return data html2python = staticmethod(html2python) }}} #2 Have manipulators return editable=false fields as StaticFields. I haven't implemented this yet but am planning on doing it soon and currently have just changed those editable=false fields that I need to editable but change their field to StaticFields. If this ticket is rejected, I will implement it for myself; however, if there is a way to implement this and I have overlooked it, I would be appreciative for some direction on how to do it. | adrian | pspierce@gmail.com | 0 | 0 | 0 | 0 | 0 | 0 | ||
559 | 2005-09-26 06:55:32 | 2005-09-26 13:32:28 | 2022-03-06 03:21:03.839490 | Unreviewed | closed | Documentation | defect | minor | wontfix | Tutorials should use different project name | the tutorials use the project name polls and the app name polls, making it hard for beginners to under which polls the tutorial is talking about, i suggest renaming the polls project to polls_project. | jacob | anonymous | 0 | 0 | 0 | 0 | 0 | 0 | ||
560 | 2005-09-26 12:30:36 | 2007-01-18 04:49:24 | 2022-03-06 03:21:04.008016 | Unreviewed | closed | Core (Other) | defect | normal | wontfix | Fields which have several formfields are non-trivial to use in forms. | Fields like the FileField which have multiple form fields need the programmer to reference them twice in a form, which isn't good practice. Instead of doing {{ field }} the programmer has to do {{ field }} and {{ field_file }} (for a file field). I believe that doing {{ field }} should output the whole HTML for taht given model field and not make the programmer think about how many formfields are actually needed for that field. Fixing this would simply require changes to FormWrapper and FormFieldWrapper. Another issue I have encountered is how FileField/ImageField are limited. I wanted to store my files in MogileFS instead of the filesystem and had to write my own field for that. It would be nice if FileField could take a parameter being a function that will be called on the newly uploaded file name/data/DB object and would take care of placing it in whatever storage is needed, scaling it to various dimensions, and so on. Here is a suggested implementation (I use 'foo' for 'upload_to' parameter since it's required and never used): {{{ class GenericImageField (fields.ImageField): def __init__(self, name, process, **kwargs): fields.ImageField.__init__(self, name, **dict(kwargs, upload_to = 'foo')) self.process = process def save_file(self, new_data, new_object, original_object, change, rel): upload_field_name = self.get_manipulator_field_names('')[0] if new_data.get(upload_field_name, False): for f in self.process: if rel: f(self, new_object, new_data[upload_field_name][0]["filename"], new_data[upload_field_name][0]["content"]) else: f(self, new_object, new_data[upload_field_name]["filename"], new_data[upload_field_name]["content"]) }}} | adrian | wojtek3@brandlay.com | 0 | 0 | 0 | 0 | 0 | 0 | ||
562 | 2005-09-26 21:08:56 | 2007-09-16 11:30:03 | 2022-03-06 03:21:04.345138 | Accepted | closed | contrib.admin | defect | normal | wontfix | "Add another" JavaScript doesn't add new value to all fields relating to the same type | Suppose we have a model containing two fields: {{{ class Foo(meta.Model): field1 = meta.ForeignKey(Bar) field2 = meta.ForeignKey(Bar) ... }}} The admin interface generates "Add another" links next to the dropdowns. If the link next to field1 is clicked, and a new value is added, then the new value only appears in the field1 dropdown and not in the dropdown for field2. This is also seen in "Add another" links next to edit_line fields. | nobody | Esaj | 0 | 0 | 0 | 0 | 0 | 0 | ||
569 | 2005-09-27 17:50:44 | 2007-07-03 23:06:49 | 2022-03-06 03:21:05.593468 | Accepted | closed | contrib.admin | defect | normal | wontfix | [patch] better pluralization for table names | I ripped off the inflector.pluralize function from Ruby on Rails and ported it over to python. This gives much better pluralization than the simple rule used by django. The source of the pluralize function can be found [https://simon.bofh.ms/cgi-bin/trac-django-projects.cgi/file/stuff/trunk/inflector.py over here in my subversion tree]. | adrian | hugo <gb@bofh.ms> | 0 | 1 | 0 | 0 | 0 | 0 | ||
577 | 2005-09-29 19:17:14 | 2006-10-07 23:13:20 | 2022-03-06 03:21:06.876927 | Unreviewed | closed | Template system | enhancement | normal | wontfix | Dynamic attribute lookup in templates | I've written a tag for dynamic attribute lookup in templates. I bet it's useful for many Django users so here it is, hopefuly it will be included in the base code :) {{{ class GetattrNode(Node): def __init__(self, vars): self.vars = vars def render(self, context): return str(resolve_variable("%s.%s" % (self.vars[0], resolve_variable(self.vars[1], context)), context)) def do_getattr(parser, token): """ Return the value of the given attribute in the given object. This differs from the regular use of {{ object.attribute }}. In the case of {% get object attr_var %} attr_var is a variable and the actual attribute fetched from 'object' is the value of that var not it's name like in regular Django variable resolution. """ bits = token.contents.split() if len(bits) != 3: raise TemplateSyntaxError, "usage: getattr <object> <attribute>" return GetattrNode(bits[1:]) register_tag('getattr', do_getattr) }}} | adrian | wojtek3@brandlay.com | 0 | 0 | 0 | 0 | 0 | 0 | ||
590 | 2005-10-04 06:29:58 | 2007-12-02 17:59:19 | 2022-03-06 03:21:09.098604 | Design decision needed | closed | Core (Cache system) | enhancement | trivial | wontfix | Hinting cache from views (vary cache time by object age) | Currently cache system uses rather simple way to specify expiration time: it is either some global value for per-site cache, or decorator's parameter for per-view cache. In reality in many cases it depends on content. For example, any news-oriented site (newspaper, blog, message board, ad place, and so on) rarely (if ever) changes archived articles. It is normal to go and change a recent article --- some typos, omissions, and recent development may warrant updates. In this case it makes sense to set hours (days? weeks?) for old articles, and few minutes for recent ones. Possibly some gradations would be required depending on age of underlying document. It is quite possible to find other influences on cache item expiration time: tags, trends of user's activity, and so on. I propose to add a property to '''response''' object, which will indicate the desired expiration time. It can be set by view methods (or some custom middleware). If it is set, it's used by cache middleware. If not, existing mechanism is used. This change doesn't break existing code. Required code changes are rather trivial --- existing cache middleware uses similar mechanism already ('''request''' object is used instead of '''response''' object). That's why I don't submit a patch this time --- it boils down to invention of right name for the property. I trust you guys would be far more consistent than me. | nobody | eugene@lazutkin.com | cache | 0 | 0 | 0 | 0 | 0 | 0 | |
596 | 2005-10-06 17:32:50 | 2012-04-06 05:20:32 | 2022-03-06 03:21:10.053031 | Accepted | closed | Core (Other) | Bug | Normal | dev | wontfix | Allow Django to be packaged as a Python egg | This patch allows Django to be packaged as a [http://peak.telecommunity.com/DevCenter/PythonEggs Python egg file]. This means that you can download the Django source and build an egg file with "python setup.py bdist_egg", and that egg contains all of Django and can be dropped onto sys.path and used like other eggs. In particular, this makes it easier to use Django when you don't want to install it into your Python directory (either with "setup.py install" or with a symlink). This patch incorporates some code from ticket #582. | nobody | sil@kryogenix.org | 0 | 1 | 1 | 0 | 1 | 0 | |
607 | 2005-10-10 22:17:48 | 2010-05-20 21:33:36 | 2022-03-06 03:21:12.426017 | Accepted | closed | contrib.admin | enhancement | normal | wontfix | Admin option to show/hide fields | '''Concept:''' An admin option that specifies a list of fields to show/hide based on the value of another field. '''Example:''' An "I like cake" checkbox that, when checked, shows two previously hidden text fields "Favorite cake" and "Favorite frosting". '''Code Example:''' {{{ admin.switch = [('likes_cake', {'True': ['favorite_cake', 'favorite_frosting']})] }}} You could also tie this to a particular value of a select field: {{{ admin.switch = [('gender', {'M': ['favorite_sport'], 'F': ['favorite_soap_opera']})] }}} '''Unsolved issues:''' * Need some place to specify the initial state of the targeted fields (visible or hidden). Default (and most common case) would be hidden, but there are cases where this needs to be reversed. * All hiding and should happen in javascript, so fields don't get hidden that can't be turned back on with javascript disabled. The switch option could also tie into the validation framework so unnecessary fields (meant to be hidden) don't get filled in even when javascript is off. * Any other ideas? | nobody | wilson | 0 | 0 | 0 | 0 | 0 | 0 | ||
610 | 2005-10-11 13:26:23 | 2006-10-22 16:17:37 | 2022-03-06 03:21:12.948090 | Unreviewed | closed | contrib.admin | enhancement | normal | wontfix | XSLT as templating engine. | It would be great to have XSLT as an optional template engine. It would require some sort of model -> XML conversion first. The reasons to use XSLT are: * it's XML (easy to verify that the templates are in workding condition using DTD or Schema) * it's a widely accepted standard (higher interoperability between different frameworks) * it is extremely versatile and extensible * it's very fast (using libxslt from xmlsoft.org or other fast implementations) | adrian | anonymous | 0 | 0 | 0 | 0 | 0 | 0 | ||
611 | 2005-10-11 13:28:11 | 2007-06-05 07:00:00 | 2022-03-06 03:21:13.119649 | Unreviewed | closed | contrib.admin | defect | minor | wontfix | fields with editable=False do not render | At least 3 issues (#455,#342,#262), I think, are related to this problem: When a field has editable=False, it is not added to the FormWrapper's field list in the change manipulator {{{__init__()}}}. We have, {{{ def manipulator_init(opts, add, change, self, obj_key=None): if change: ... self.fields = [] for f in opts.fields + opts.many_to_many: if f.editable and not (f.primary_key and change) and (not f.rel or not f.rel.edit_inline): self.fields.extend(f.get_manipulator_fields(opts, self, change)) }}} I do not know the design, but it is evident that django *intends* for editable=False to do something akin to render with the html disable attribute ON. Other comments imply that editable=False means "do not display", but of course there are other mechanisms for this, e.g via the fields attribute admin UI. My workaround is to not use editable and instead add javascript to add the disable attribute to the fields I want displayed readonly. | adrian | davidschein@alumni.tufts.edu | editable readonly disable | 0 | 0 | 0 | 0 | 0 | 0 | |
613 | 2005-10-11 19:43:44 | 2007-02-25 17:32:54 | 2022-03-06 03:21:13.427060 | Design decision needed | closed | Core (Other) | enhancement | minor | wontfix | prevent raw_post_data parsing on defined view functions | There should be a way to prevent parsing of POST data for some view functions. This would be usefull for example for view functions that do their own POST parsing, like some view function that parses XMLRPC requests or some other special format. Currently access to POST (either the dict as a whole or some variable in it) will instantiate the QueryDict for the post data and so parse the post raw data - even if it isn't a valid POST query string. That would put high load on the machine if the POST data is rather large - think of a XMLRPC API where ImageField content is transported as base64 data ... Django currently parses the POST data lazily, but middlware might try to access POST on a request and trigger parsing, even though the function itself never touches POST. So this would be more kind of a safety net. A idea on how to do it: a decorator that registers a view function into some global dictionary and then a check in BaseHandler.get_response wether the discovered view function is in that global dictionary and if yes, switch the request to a don't-parse-POST state (that needs to be checked in the _get_post property getters in both the WSGRequest and the ModPythonRequest). | adrian | hugo | 0 | 0 | 0 | 0 | 0 | 0 | ||
632 | 2005-10-16 10:58:52 | 2012-01-09 08:13:02 | 2022-03-06 03:21:16.333280 | Accepted | closed | Template system | enhancement | minor | wontfix | database stored templates | In [https://simon.bofh.ms/cgi-bin/trac-django-projects.cgi/browser/cms/trunk/apps/dbtemplate/ my repository] for my new CMS project I have a simple and little app that implements database stored templates. Actually it's just a model and a template loader. This might be something that could go into the django.contrib package. I think it's especially handy if your site is mostly Django admin driven and people should be able to make changes to templates through the web. | adrian | hugo | 0 | 1 | 0 | 0 | 0 | 0 | ||
643 | 2005-10-18 14:35:38 | 2005-11-20 22:24:41 | 2022-03-06 03:21:18.094994 | Unreviewed | closed | contrib.admin | enhancement | normal | wontfix | Site based permission system | Can it be made possible to add the ability to restrict certain users to a certain site. I.E. User1 can only add a flat file to Site1 and User2 can only add a flat flag to Site2 but not vice-versa. | adrian | Eric Moritz | 0 | 0 | 0 | 0 | 0 | 0 | ||
649 | 2005-10-19 12:24:29 | 2007-07-03 23:07:43 | 2022-03-06 03:21:19.021337 | Ready for checkin | closed | contrib.admin | defect | normal | wontfix | [enhacement] Navigation in model instances | i would suggest an enhacement: in administration, when u click into a data model (i.e. car), u get some instances of that model (i.e. mercedes, audi, etc), and when u click into an instance as audi, you cann't access to other instance (mercedes) from there. ---- It would be useful that it would have an arrows go to next/back first/last instance. | adrian | Bless | 0 | 0 | 0 | 0 | 0 | 0 | ||
650 | 2005-10-19 13:08:07 | 2006-10-07 21:53:25 | 2022-03-06 03:21:19.170526 | Unreviewed | closed | Template system | defect | major | wontfix | render_to_response uses Context instead DjangoContext | As far as I can see render_to_response calls render_to_string which by default uses Context. Because of that all DjangoContext stuff (i.e. debug, user, ...) don't work. I can use render_to_response(..., context_instance=DjangoContext()) but that is almost same as not using render_to_response altogether. Maybe Context can be raplaced with DjangoContext in loader.py? | adrian | nesh <nesh [at] studioquattro [dot] co [dot] yu> | 0 | 0 | 0 | 0 | 0 | 0 | ||
652 | 2005-10-19 22:35:32 | 2007-03-28 10:57:52 | 2022-03-06 03:21:19.469572 | Design decision needed | closed | Database layer (models, ORM) | enhancement | normal | dev | wontfix | An option to upload files into database would be a great alternative to filesystem uploads. | The filesystem-only method of uploading files for '''meta.FileField''' and '''meta.ImageField''' is understandable, but a method of using !FileFields and !ImageFields to upload into a database (as BLOBs, large objects, BYTEA values, etc.) would be extremely useful when filesystem storage is not desirable. Is this feasible? Some thoughts are: * Use kwargs to the !ImageField and !FileField constructors to specify the image storage backend * If storing files in the database, create a table (say, a "binary storage table") as part of '''django-admin.py sqlall''' that stores the files in a format that is appropriate for the database backend (e.g. BLOB for MySQL, BYTEA or large object for PostgreSQL) * User-defined fields that store images or files actually store an ID referring to a record in the binary storage table * Database abstraction layers will need to implement some methods to use for storing and loading files from the database so !ImageField and !FieldField objects can retrieve them in a general way | adrian | cygnus@cprogrammer.org | upload | 0 | 0 | 0 | 0 | 0 | 0 |
657 | 2005-10-20 09:08:22 | 2006-10-08 00:08:48 | 2022-03-06 03:21:20.308048 | Unreviewed | closed | Validators | defect | normal | wontfix | validator - characters without numbers | It should be a validator for characters without numbers, because is possible that you want whatever text minus numbers. {{{ num_re = re.compile(r'\d') def thereisNumeric: if num_re.search(field_data): raise ValidationError, "This value musn't contain numbers." }}} | adrian | Bless | 0 | 0 | 0 | 0 | 0 | 0 | ||
661 | 2005-10-20 16:32:29 | 2011-09-28 11:37:11 | 2022-03-06 03:21:20.999462 | Unreviewed | closed | Core (Other) | enhancement | normal | wontfix | New function: batch save of objects would make for more efficient processing | Currently new records are saved one at the time using save(). In most cases this is sufficient though a batch save method would allow for more efficient database access when appropriate. An example: An app allows the upload of a file which is parsed into many records. Currently each record would have to be looped over and save()d. A function which took the list of records and did One Big Insert would make the operation more efficient. | adrian | Lllama | 0 | 0 | 0 | 0 | 1 | 0 | ||
671 | 2005-10-21 00:16:23 | 2007-07-03 23:08:07 | 2022-03-06 03:21:23.064589 | Design decision needed | closed | Core (Other) | enhancement | normal | wontfix | generic list_object enhancement | I would like the generic list_object view to be able to take query parameters to filter out the object_list. ie something like (for the polls app) ?poll_name__contains=foo or ?poll_name__exact=blah now I understand I can subclass the view and do this.. but I thought it would be nice to have in the default generic view as it will make prototyping SO much faster for me. | adrian | ian@holsman.net | 0 | 0 | 0 | 0 | 0 | 0 | ||
682 | 2005-10-22 23:31:08 | 2006-10-27 14:24:30 | 2022-03-06 03:21:24.687205 | Unreviewed | closed | Core (Other) | enhancement | normal | wontfix | Fully decoupled URLconf's for apps. | In part 3 of the tutorial you introduce a way to decouple the URLconfs. But unless I'm missing something there's still one thing left that is tied to the project, namely the prefix passed to the patterns() function. {{{ urlpatterns = patterns('myproject.apps.polls.views.polls', (r'^$', 'index'), (r'^(?P<poll_id>\d+)/$', 'detail'), (r'^(?P<poll_id>\d+)/results/$', 'results'), (r'^(?P<poll_id>\d+)/vote/$', 'vote'), ) }}} The attached patch eliminates the need to pass in the prefix and let's the patterns() function figure that out by itself. Pass '''None''' instead of the prefix to trigger the "figure-out-the-prefix-by-yourself" functionality. {{{ urlpatterns = patterns(None, ... ) }}} Hope that's usefull for someone. cheers | adrian | sa@c-area.ch | 0 | 0 | 0 | 0 | 0 | 0 | ||
694 | 2005-10-25 14:10:36 | 2013-08-12 10:42:20 | 2022-03-06 03:21:26.582964 | Unreviewed | closed | Template system | enhancement | normal | dev | wontfix | [patch] TEMPLATE_DIRS should allow project root relative paths | Many people develop their projects on one machine and deploy on another. The two (or more) different computers may not have the same filesystem layout and may not even be running the same OS. As such, it'd be nice if the requirement for absolute paths could be eliminated. For my current django project, I have something like: {{{ project/ apps/ templates/ }}} It'd be nice if the templates directory could be specified relative to the project root. | adrian | nirvdrum | 0 | 1 | 0 | 0 | 0 | 0 | |
696 | 2005-10-25 16:33:22 | 2005-12-28 23:22:43 | 2022-03-06 03:21:26.918843 | Unreviewed | closed | Template system | enhancement | normal | wontfix | add newline-suppression to {% and {{ | Both {{ and {% could be closeable with -}} and -%} to suppress a newline if the ending is at the end of the line, too. This would help to make more readable templates for formats that are whitespace-sensitive - currently you would have to write all template code in one line if the output should be just one line. With newline suppression, one could break long lines and still only get one line output. And yes, I know that it is shamelessly stolen from the ERb definition ;) | adrian | hugo | 0 | 0 | 0 | 0 | 0 | 0 | ||
706 | 2005-10-30 06:42:01 | 2005-10-30 14:25:01 | 2022-03-06 03:21:28.472156 | Unreviewed | closed | Core (Management commands) | enhancement | normal | wontfix | rename of django-admin.py? | I would like to step thru django-admin.py in an IDE debugger. (Eclipse and Pydev). To do so I have attempted to run django-admin.py as follows: from django.bin import django-admin django-admin.main() # (pydev allows me to supply the parms) but the - in django-admin.py gives me a syntax error on both statements. If i rename django-admin.py to django_admin.py (- to _), all is well. Perhaps you would consider making this change. (I am a python newbie...so please cut me some slack if I am missing something simple.) thx, gerry rodman htp://www.gerryrodman.com | adrian | gerryrmail-dj@yahoo.com | 0 | 0 | 0 | 0 | 0 | 0 | ||
718 | 2005-11-03 02:21:59 | 2007-12-18 14:25:55 | 2022-03-06 03:21:30.513696 | Unreviewed | closed | *.djangoproject.com | defect | normal | dev | wontfix | svn co behind stupid proxy | When trying to checkout django via subversion on Ubuntu it throws a following errors: $ sudo svn co http://code.djangoproject.com/svn/django/trunk/ django_src svn: REPORT request failed on '/svn/!svn/bc/1056/django/trunk' svn: REPORT of '/svn/!svn/bc/1056/django/trunk': 400 Bad Request (http://code.djangoproject.com) | jacob | vikrant@linmark.com | svn bad request error | 0 | 0 | 0 | 0 | 0 | 0 |
722 | 2005-11-03 21:22:22 | 2006-10-13 19:36:40 | 2022-03-06 03:21:31.102071 | Unreviewed | closed | Validators | defect | normal | wontfix | Allow for period '.' and hyphen '-' characters in usernames with an isUsername validator | Currently restricts usernames by not allowed a '.'. Can we remove this restriction? as there are several companies out there why my login ID would be either Ian.Holsman or I.Holsman and I would prefer to use the same ID that I use on my intranet, rather than invent yet another ID for myself. Thanks Ian | adrian | Ian@holsman.net | username validation period hyphen | 0 | 0 | 0 | 0 | 0 | 0 | |
752 | 2005-11-07 19:04:43 | 2006-10-22 16:07:53 | 2022-03-06 03:21:35.137232 | Unreviewed | closed | Metasystem | enhancement | normal | wontfix | Base Classes for Trees | Base classes, what could efficiently handle large tree-like structures. * Recursive handling (delete, move, rebuild, and so) * Querying for children in some ways, with filters * Nearest * By path * Level[s] slice * Parents * Node data types handling. Mapping to other classes. I think it would be 2 classes: one for handling tree structure and one base class for node items. | adrian | dp_wiz | 0 | 0 | 0 | 0 | 0 | 0 | ||
760 | 2005-11-09 10:52:24 | 2007-02-26 17:45:33 | 2022-03-06 03:21:36.275823 | Accepted | closed | contrib.admin | defect | normal | wontfix | Error reason not seen when 500 template is missing | When DEBUG = False (production environment) and an error happens, and the 500 template is not provided - one gets a traceback about the template not existing, but does not get a traceback for the exception that caused the actual failure. | turkey | wojtek@brandlay.com | 0 | 0 | 0 | 0 | 0 | 0 | ||
793 | 2005-11-14 18:16:18 | 2006-10-07 23:54:39 | 2022-03-06 03:21:40.516367 | Unreviewed | closed | contrib.admin | enhancement | normal | wontfix | Prev/next buttons for objects in admin interface | In some circumstances it would be useful to have previous/next links for objects in the admin site. Actually instead, if you need to browse linearly a sequence of objects, you should manually go back to the change list and click on the previous/next object, each time. This doesn't hurt if you need to browse two or three object , while the story is totally different when you need to do this operation many times (boring). | adrian | paolo <paolo@php3.it> | 0 | 0 | 0 | 0 | 0 | 0 | ||
794 | 2005-11-14 21:10:09 | 2006-10-07 13:00:31 | 2022-03-06 03:21:40.632095 | Unreviewed | closed | Template system | defect | minor | wontfix | A template filter that lets the user choose pluralization method | The current pluralization in the default filter adds an s if it should pluralize. While this is often good for english, it is not always, and it is generally not usefull for any other language. Therefore, I wrote a custom pluralization filter that lets the template author specify what the filter should return if it should return anything at all. Here is the diff: {{{ Index: django/core/template/defaultfilters.py =================================================================== --- django/core/template/defaultfilters.py (revision 1124) +++ django/core/template/defaultfilters.py (arbetskopia) @@ -408,6 +408,22 @@ pass return '' +def custompluralize(value, arg): + """Returns the arg if the value is not 1. Like above, but with + customizable pluralization. Good for i18n""" + try: + if int(value) != 1: + return arg + except ValueError: # invalid string that's not a number + pass + except TypeError: # value isn't a string or a number, maybe it is a list? + try: + if len(value) != 1: + return arg + except TypeError: # len() of unsized object + pass + return '' + def phone2numeric(value, _): "Takes a phone number and converts it in to its numerical equivalent" from django.utils.text import phone2numeric @@ -447,6 +463,7 @@ register_filter('make_list', make_list, False) register_filter('phone2numeric', phone2numeric, False) register_filter('pluralize', pluralize, False) +register_filter('custompluralize', custompluralize, True) register_filter('pprint', pprint, False) register_filter('removetags', removetags, True) register_filter('random', random, False) }}} | adrian | ozamosi@blinkenlights.se | 0 | 0 | 0 | 0 | 0 | 0 | ||
797 | 2005-11-14 23:57:38 | 2006-10-27 12:02:31 | 2022-03-06 03:21:41.017604 | Unreviewed | closed | contrib.admin | enhancement | normal | wontfix | Give Anonymous its own database entry so we can set permissions on it | As an alternative to #796, which prevents tracebacks when views attempt to check the permissions of AnonymousUser, it'd be nice if I could define a real anonymous user in auth.users so I could assign permissions to it. That'd also help a great deal in using rjwittams' admin template tags in user views. | adrian | garthk | 0 | 0 | 0 | 0 | 0 | 0 | ||
826 | 2005-11-17 13:36:35 | 2006-10-07 21:30:02 | 2022-03-06 03:21:44.977460 | Unreviewed | closed | contrib.admin | defect | normal | wontfix | Development server kills itself to reload, causing browser GET failures | The current development server seems to use a threaded model that kills and restarts the server thread everytime the code changes. Since it takes some time to startup again, this leaves some downtime between when you hit save and when you can view the page. While such a delay is unavoidable, with this model it manifests itself as an inaccessible page as opposed to (if, e.g. CGI was used) simply a delay. This kind of annoyance is simply deadly for development, since it discourages making small changes. | adrian | aaronsw | 0 | 0 | 0 | 0 | 0 | 0 | ||
852 | 2005-11-20 12:30:13 | 2013-03-11 21:26:18 | 2022-03-06 03:21:49.928178 | Unreviewed | closed | Database layer (models, ORM) | defect | normal | wontfix | psycopg.ProgrammingError exceptions leave the connection to the DB in an unusable state | I am getting the following error while trying to save an object. I was following the tutorial but creating my own structure. The database tables where all created okay with "django-admin.py sql". I did get an insert error before as I didn't put any defaults in for the integer columns, but after fixing the model that went away. >>> u.save() Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/lib/python2.4/site-packages/Django-0.90-py2.4.egg/django/utils/functional.py", line 3, in _curried return args[0](*(args[1:]+moreargs), **dict(kwargs.items() + morekwargs.items())) File "/usr/lib/python2.4/site-packages/Django-0.90-py2.4.egg/django/core/meta/__init__.py", line 782, in method_save cursor = db.db.cursor() File "/usr/lib/python2.4/site-packages/Django-0.90-py2.4.egg/django/core/db/backends/postgresql.py", line 35, in cursor cursor.execute("SET TIME ZONE %s", [TIME_ZONE]) psycopg.ProgrammingError: ERROR: current transaction is aborted, commands ignored until end of transaction block SET TIME ZONE 'Europe/Madrid' | adrian | j.quigley@serviomatic.com | 0 | 0 | 0 | 0 | 0 | 0 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE tickets ( id int primary key, created datetime, changetime datetime, last_pulled_from_trac datetime, stage text, status text, component text, type text, severity text, version text, resolution text, summary text, description text, owner text, reporter text, keywords text, easy boolean, has_patch boolean, needs_better_patch boolean, needs_tests boolean, needs_docs boolean, ui_ux boolean );