This release is a pre-release and may not be stable for production use.
A URL resolver which store the URL patterns in database, which means a webmaster can define some URLs.
Installing
Install package from pypi:
$ easy_install django-dburlresolvers
Put dbresolver into your installed applications:
INSTALLED_APPS = (
...
'dbresolver',
)
Change the project urls.py file like this:
from dbresolver import get_dbresolver_patterns
urlpatterns = patterns('',
... # your URLs
)
urlpatterns += get_dbresolver_patterns()
Usage
Register some views of your project to get available in dbresolver. You may register it manually or automatically (by autodiscovering):
Manually: Using the dbresolver API directly:
>>> from dbresolver import register_view >>> from fooapp.views import foo_listing >>> register_view(foo_listing, 'Foo listing')
Automatically: Put this code in your project (we recommended in the project urls.py):
from dbresolver import autodiscover_views autodiscover_views()
You need to define an especial views_to_register method, like ilustrate this example:
def foo_listing(request): foo_list = FooModel.objects.all() return render_to_response('fooapp/foo_listing.html', {'foo_list': foo_list}, context_instance=RequestContext(request)) def views_to_register(): """ returns views to be registered with dbresolver """ return ( (foo_listing, _('Foo listing')), )
Also you can register generic views with parameters. For example, imagine you have a view like this:
def render_template(request, template_name=None):
try:
return direct_to_template(request, template=template_name)
except TemplateDoesNotExist:
raise Http404()
You may register the view with a parameter which be defined for admin user:
>>> from configfield import params
>>> register_view(render_template, 'Generic view to render a template',
params=(
params.Template(
name='template_name',
label='Template to be rendered',
),
))
If you want autoregistering of that view, the code was like this:
def views_to_register():
return (
{'view': render_template,
'label': 'Generic view to render a template',
'params': (
params.Template(name='template_name', label='Template to be rendered'),
)},
Now you only have to enter on admin site to create URL patterns attached to views. You can use both Django default regular expressions and simpler surlex expressions.
0.1.0-beta
Fixed a model form error when used outside admin.
0.1.0-alpha
Initial version
Metadata
Release files for django-dburlresolvers 0.1.0-beta2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-dburlresolvers-0.1.0-beta2.tar.gz | 11.7 kB | Details |
Release files / django-dburlresolvers-0.1.0-beta2.tar.gz
| Download URL | django-dburlresolvers-0.1.0-beta2.tar.gz |
|---|---|
| Size | 11.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a1bd290f964d212c894452c4e89081f0e072df47c8dde64e63ab75040bb4e41b
|
|
BLAKE2b-256 checksum How to use checksums |
c493a5b529eb5e593f59f61dcc24fe77d7d1a5d974221b42f73796a4bf6fea23
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |