Hi Germán,
in your case you should be using current_app; then using
reverse('admin:bla') will tell the urlresolver to reverse an admin url bla
for an AdminSite with name == current_app -- this will also work in
templates; which is good since you really don't want to change string
there… When you need to refer to the "other" admin just pass
current_app='other_admin' to reverse.
Chers,
Florian
On Thursday, November 14, 2013 1:55:13 AM UTC+1, German Larrain wrote:
>
> Hi guys
>
> I must say I hit this issue a few months ago (I have more than one admin
> app living side by side). It was confusing, when reversing a URL name,
> whether to change 'admin' in a string like this `'admin:%s_%s_change'`, or
> use `current_app=self.admin_site.name`.
>
> Since I don't like hardcoded strings and I (or someone using my
> code) would probably get confused over this at a later point, I created a
> utility function that perhaps may be useful for someone else and/or to
> clarify the problem:
>
> def get_admin_view_url_name(model, view, admin_site=None):
> admin_site = admin_site or 'admin'
>
> # TODO: replace `module_name` with `model_name` when using Django 1.6
> return '%s:%s_%s_%s' % (
> admin_site,
> model._meta.app_label,
> model._meta.module_name,
> view)
>
> Just my 2 cents.
>
> Germán
>
> On Wednesday, November 13, 2013 9:06:50 AM UTC-3, Florian Apolloner wrote:
>>
>> Hi Russ,
>>
>> On Wednesday, November 13, 2013 2:16:13 AM UTC+1, Russell Keith-Magee
>> wrote:
>>>
>>> The use case was simple -- deploy two instances of admin in a single
>>> project. For example, you might have a truly 'access-all-areas' admin, and
>>> a cut down/modified admin for trusted editors that has specially customised
>>> workflows, etc. Admin has been specifically designed to allow this, and
>>> it's a documented feature [1].
>>>
>>
>> This is something which can be done currently by supplying the name
>> argument to the AdminSite [1] (this changes the instance namespace name for
>> the urlconf). But we also have a lesser known (and not working) feature
>> where you can also modify the app_name itself [2] -- which is causing
>> problems here (application namespace vs instance namespace). I am not sure
>> what app_name provides aside from more complexity :)
>>
>> Cheers,
>> Florian
>>
>> [1]
>> https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.AdminSite
>>
>> [2]
>> https://github.com/django/django/blob/master/django/contrib/admin/sites.py#L55
>>
>
--
You received this message because you are subscribed to the Google Groups
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-developers/c4e26e78-5526-4340-a45f-ee61460c8c7a%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.