mirror of
https://github.com/django/django.git
synced 2025-07-05 18:29:11 +00:00
Merged to trunk r1253
git-svn-id: http://code.djangoproject.com/svn/django/branches/new-admin@1255 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
commit
2bbfb4b815
@ -37,6 +37,7 @@ LANGUAGES = (
|
|||||||
('bn', _('Bengali')),
|
('bn', _('Bengali')),
|
||||||
('cs', _('Czech')),
|
('cs', _('Czech')),
|
||||||
('cy', _('Welsh')),
|
('cy', _('Welsh')),
|
||||||
|
('da', _('Danish')),
|
||||||
('de', _('German')),
|
('de', _('German')),
|
||||||
('en', _('English')),
|
('en', _('English')),
|
||||||
('es', _('Spanish')),
|
('es', _('Spanish')),
|
||||||
|
@ -1072,6 +1072,11 @@ msgstr "চেক"
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr "ওয়েল্শ"
|
msgstr "ওয়েল্শ"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr "স্প্যানিশ"
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "জার্মান"
|
msgstr "জার্মান"
|
||||||
|
@ -1079,6 +1079,11 @@ msgstr "Česky"
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr "Welšsky"
|
msgstr "Welšsky"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr "Španělsky"
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Německy"
|
msgstr "Německy"
|
||||||
|
@ -1075,6 +1075,11 @@ msgstr "Tsieceg"
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr "Cymraeg"
|
msgstr "Cymraeg"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr "Spaeneg"
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Almaeneg"
|
msgstr "Almaeneg"
|
||||||
|
BIN
django/conf/locale/da/LC_MESSAGES/django.mo
Normal file
BIN
django/conf/locale/da/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
1023
django/conf/locale/da/LC_MESSAGES/django.po
Normal file
1023
django/conf/locale/da/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1328,6 +1328,10 @@ msgstr "Tschechisch"
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr "Walisisch"
|
msgstr "Walisisch"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr "Dänisch"
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Deutsch"
|
msgstr "Deutsch"
|
||||||
|
@ -1041,6 +1041,10 @@ msgstr ""
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1069,6 +1069,10 @@ msgstr ""
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1083,6 +1083,11 @@ msgstr "Tch
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr "Espagnol"
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Allemand"
|
msgstr "Allemand"
|
||||||
|
@ -1068,6 +1068,10 @@ msgstr ""
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1077,6 +1077,11 @@ msgstr "Tékkneska"
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr "Velska"
|
msgstr "Velska"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr "Spænska"
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Þýska"
|
msgstr "Þýska"
|
||||||
|
@ -1076,6 +1076,11 @@ msgstr ""
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr "Spagnolo"
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Tedesco"
|
msgstr "Tedesco"
|
||||||
|
@ -1077,6 +1077,11 @@ msgstr "Tsjekkisk"
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr "Spansk"
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Tysk"
|
msgstr "Tysk"
|
||||||
|
@ -1080,6 +1080,11 @@ msgstr "Tcheco"
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr "Espanhol"
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Alemão"
|
msgstr "Alemão"
|
||||||
|
@ -1077,6 +1077,11 @@ msgstr "Cehă"
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr "Spaniolă"
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Germană"
|
msgstr "Germană"
|
||||||
|
@ -1066,6 +1066,10 @@ msgstr ""
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
Binary file not shown.
@ -1072,7 +1072,7 @@ msgstr "Zpráva"
|
|||||||
|
|
||||||
#: conf/global_settings.py:37
|
#: conf/global_settings.py:37
|
||||||
msgid "Bengali"
|
msgid "Bengali"
|
||||||
msgstr ""
|
msgstr "Bengálsky"
|
||||||
|
|
||||||
#: conf/global_settings.py:38
|
#: conf/global_settings.py:38
|
||||||
msgid "Czech"
|
msgid "Czech"
|
||||||
@ -1080,7 +1080,7 @@ msgstr "Český"
|
|||||||
|
|
||||||
#: conf/global_settings.py:39
|
#: conf/global_settings.py:39
|
||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr ""
|
msgstr "Waleský"
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
@ -1104,7 +1104,7 @@ msgstr "Galicijský"
|
|||||||
|
|
||||||
#: conf/global_settings.py:45
|
#: conf/global_settings.py:45
|
||||||
msgid "Icelandic"
|
msgid "Icelandic"
|
||||||
msgstr ""
|
msgstr "Islandský"
|
||||||
|
|
||||||
#: conf/global_settings.py:46
|
#: conf/global_settings.py:46
|
||||||
msgid "Italian"
|
msgid "Italian"
|
||||||
@ -1120,7 +1120,7 @@ msgstr "Brazílsky"
|
|||||||
|
|
||||||
#: conf/global_settings.py:49
|
#: conf/global_settings.py:49
|
||||||
msgid "Romanian"
|
msgid "Romanian"
|
||||||
msgstr ""
|
msgstr "Rumúnsky"
|
||||||
|
|
||||||
#: conf/global_settings.py:50
|
#: conf/global_settings.py:50
|
||||||
msgid "Russian"
|
msgid "Russian"
|
||||||
|
@ -1080,6 +1080,11 @@ msgstr "Češki"
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr "Welšski"
|
msgstr "Welšski"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr "Španski"
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Nemački"
|
msgstr "Nemački"
|
||||||
|
@ -1078,6 +1078,11 @@ msgstr "Tjeckiska"
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr "Walesiska"
|
msgstr "Walesiska"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr "Spanska"
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Tyska"
|
msgstr "Tyska"
|
||||||
|
@ -1066,6 +1066,11 @@ msgstr "捷克语"
|
|||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
msgstr "威尔士语"
|
msgstr "威尔士语"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:40
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Danish"
|
||||||
|
msgstr "西斑牙语"
|
||||||
|
|
||||||
#: conf/global_settings.py:40
|
#: conf/global_settings.py:40
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "德语"
|
msgstr "德语"
|
||||||
|
@ -24,7 +24,7 @@ class DatabaseWrapper:
|
|||||||
if DATABASE_USER:
|
if DATABASE_USER:
|
||||||
conn_string = "user=%s %s" % (DATABASE_USER, conn_string)
|
conn_string = "user=%s %s" % (DATABASE_USER, conn_string)
|
||||||
if DATABASE_PASSWORD:
|
if DATABASE_PASSWORD:
|
||||||
conn_string += " password=%s" % DATABASE_PASSWORD
|
conn_string += " password='%s'" % DATABASE_PASSWORD
|
||||||
if DATABASE_HOST:
|
if DATABASE_HOST:
|
||||||
conn_string += " host=%s" % DATABASE_HOST
|
conn_string += " host=%s" % DATABASE_HOST
|
||||||
if DATABASE_PORT:
|
if DATABASE_PORT:
|
||||||
|
@ -102,6 +102,7 @@ class FormWrapper:
|
|||||||
self.manipulator, self.data = manipulator, data
|
self.manipulator, self.data = manipulator, data
|
||||||
self.error_dict = error_dict
|
self.error_dict = error_dict
|
||||||
self._inline_collections = None
|
self._inline_collections = None
|
||||||
|
self.fields = [self.__getitem__(field.field_name) for field in self.manipulator.fields]
|
||||||
self.edit_inline = edit_inline
|
self.edit_inline = edit_inline
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
|
@ -34,6 +34,9 @@ class AnonymousUser:
|
|||||||
def has_perm(self, perm):
|
def has_perm(self, perm):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def has_module_perms(self, module):
|
||||||
|
return False
|
||||||
|
|
||||||
def get_and_delete_messages(self):
|
def get_and_delete_messages(self):
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
@ -163,6 +163,23 @@ def do_translate(parser, token):
|
|||||||
|
|
||||||
def do_block_translate(parser, token):
|
def do_block_translate(parser, token):
|
||||||
"""
|
"""
|
||||||
|
This will translate a block of text with parameters.
|
||||||
|
|
||||||
|
Format is like this::
|
||||||
|
|
||||||
|
{% blocktrans with foo|filter as bar and baz|filter as boo %}
|
||||||
|
This is {{ bar }} and {{ boo }}.
|
||||||
|
{% endblocktrans %}
|
||||||
|
|
||||||
|
Additionally this supports pluralization::
|
||||||
|
|
||||||
|
{% blocktrans count var|length as count %}
|
||||||
|
There is {{ count }} object.
|
||||||
|
{% plural %}
|
||||||
|
There are {{ count }} objects.
|
||||||
|
{% endblocktrans %}
|
||||||
|
|
||||||
|
This is much like ngettext, only in template syntax.
|
||||||
"""
|
"""
|
||||||
class BlockTranslateParser(TokenParser):
|
class BlockTranslateParser(TokenParser):
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import re
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import inspect
|
import inspect
|
||||||
@ -6,6 +7,8 @@ from os.path import dirname, join as pathjoin
|
|||||||
from django.core.template import Template, Context
|
from django.core.template import Template, Context
|
||||||
from django.utils.httpwrappers import HttpResponseServerError, HttpResponseNotFound
|
from django.utils.httpwrappers import HttpResponseServerError, HttpResponseNotFound
|
||||||
|
|
||||||
|
HIDDEN_SETTINGS = re.compile('SECRET|PASSWORD')
|
||||||
|
|
||||||
def technical_500_response(request, exc_type, exc_value, tb):
|
def technical_500_response(request, exc_type, exc_value, tb):
|
||||||
"""
|
"""
|
||||||
Create a technical server error response. The last three arguments are
|
Create a technical server error response. The last three arguments are
|
||||||
@ -30,7 +33,17 @@ def technical_500_response(request, exc_type, exc_value, tb):
|
|||||||
'pre_context_lineno' : pre_context_lineno,
|
'pre_context_lineno' : pre_context_lineno,
|
||||||
})
|
})
|
||||||
tb = tb.tb_next
|
tb = tb.tb_next
|
||||||
|
|
||||||
|
# Turn the settings module into a dict, filtering out anything that
|
||||||
|
# matches HIDDEN_SETTINGS along the way.
|
||||||
|
settings_dict = {}
|
||||||
|
for k in dir(settings):
|
||||||
|
if k.isupper():
|
||||||
|
if HIDDEN_SETTINGS.search(k):
|
||||||
|
settings_dict[k] = '********************'
|
||||||
|
else:
|
||||||
|
settings_dict[k] = getattr(settings, k)
|
||||||
|
|
||||||
t = Template(TECHNICAL_500_TEMPLATE)
|
t = Template(TECHNICAL_500_TEMPLATE)
|
||||||
c = Context({
|
c = Context({
|
||||||
'exception_type' : exc_type.__name__,
|
'exception_type' : exc_type.__name__,
|
||||||
@ -39,7 +52,7 @@ def technical_500_response(request, exc_type, exc_value, tb):
|
|||||||
'lastframe' : frames[-1],
|
'lastframe' : frames[-1],
|
||||||
'request' : request,
|
'request' : request,
|
||||||
'request_protocol' : os.environ.get("HTTPS") == "on" and "https" or "http",
|
'request_protocol' : os.environ.get("HTTPS") == "on" and "https" or "http",
|
||||||
'settings' : dict([(k, getattr(settings, k)) for k in dir(settings) if k.isupper()]),
|
'settings' : settings_dict,
|
||||||
|
|
||||||
})
|
})
|
||||||
return HttpResponseServerError(t.render(c))
|
return HttpResponseServerError(t.render(c))
|
||||||
|
28
django/views/generic/simple.py
Normal file
28
django/views/generic/simple.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
from django.core.extensions import DjangoContext, render_to_response
|
||||||
|
from django.utils.httpwrappers import HttpResponse, HttpResponseRedirect, HttpResponseGone
|
||||||
|
|
||||||
|
def direct_to_template(request, template, **kwargs):
|
||||||
|
"""
|
||||||
|
Render a given template with any extra URL parameters in the context as
|
||||||
|
``{{ params }}``.
|
||||||
|
"""
|
||||||
|
return render_to_response(template, {'params' : kwargs}, context_instance=DjangoContext(request))
|
||||||
|
|
||||||
|
def redirect_to(request, url, **kwargs):
|
||||||
|
"""
|
||||||
|
Redirect to a given URL.
|
||||||
|
|
||||||
|
The given url may contain dict-style string formatting which will be
|
||||||
|
interpolated against the params in the URL. For example, to redirect from
|
||||||
|
``/foo/<id>/`` to ``/bar/<id>/``, you could use the following urlpattern::
|
||||||
|
|
||||||
|
urlpatterns = patterns('',
|
||||||
|
('^foo/(?p<id>\d+)/$', 'django.views.generic.simple.redirect_to', {'url' : '/bar/%(id)s/'}),
|
||||||
|
)
|
||||||
|
|
||||||
|
If the given url is ``None``, a HttpResponseGone (410) will be issued.
|
||||||
|
"""
|
||||||
|
if url is not None:
|
||||||
|
return HttpResponseRedirect(url % kwargs)
|
||||||
|
else:
|
||||||
|
return HttpResponseGone()
|
10
docs/faq.txt
10
docs/faq.txt
@ -143,6 +143,16 @@ problems in similar ways, but it was too late to integrate outside code: We'd
|
|||||||
already written, tested and implemented our own framework bits in several
|
already written, tested and implemented our own framework bits in several
|
||||||
production settings -- and our own code met our needs delightfully.
|
production settings -- and our own code met our needs delightfully.
|
||||||
|
|
||||||
|
In most cases, however, we found that existing frameworks/tools inevitably had
|
||||||
|
some sort of fundamental, fatal flaw that made us squeamish. No tool fit our
|
||||||
|
philosophies 100%.
|
||||||
|
|
||||||
|
Like we said: We're picky.
|
||||||
|
|
||||||
|
We've documented our philosophies on the `design philosophies page`_.
|
||||||
|
|
||||||
|
.. _design philosophies page: http://www.djangoproject.com/documentation/design_philosophies/
|
||||||
|
|
||||||
Do you have any of those nifty "screencast" things?
|
Do you have any of those nifty "screencast" things?
|
||||||
---------------------------------------------------
|
---------------------------------------------------
|
||||||
|
|
||||||
|
@ -57,8 +57,8 @@ arguments may either come from the URL pattern (as ``month``, ``day``,
|
|||||||
``year``, etc. do above) or from the additional-information dictionary (as for
|
``year``, etc. do above) or from the additional-information dictionary (as for
|
||||||
``app_label``, ``module_name``, etc.).
|
``app_label``, ``module_name``, etc.).
|
||||||
|
|
||||||
All the generic views that follow require the ``app_label`` and ``module_name`` keys.
|
Most of the generic views that follow require the ``app_label`` and
|
||||||
These values are easiest to explain through example::
|
``module_name`` keys. These values are easiest to explain through example::
|
||||||
|
|
||||||
>>> from django.models.blog import entries
|
>>> from django.models.blog import entries
|
||||||
|
|
||||||
@ -68,6 +68,42 @@ holds all your model definitions) and ``entries`` is the ``module_name``
|
|||||||
of the ``module_name`` option of your model). In the docs below, these keys
|
of the ``module_name`` option of your model). In the docs below, these keys
|
||||||
will not be repeated, but each generic view requires them.
|
will not be repeated, but each generic view requires them.
|
||||||
|
|
||||||
|
Using "simple" generic views
|
||||||
|
============================
|
||||||
|
|
||||||
|
The ``django.views.generic.simple`` module contains simple views to handle a
|
||||||
|
couple of common cases: rendering a template when no view logic is needed,
|
||||||
|
and issuing a redirect. These views are:
|
||||||
|
|
||||||
|
``direct_to_template``
|
||||||
|
Renders a given template using any extra parameters passed in the
|
||||||
|
urlpattern; requires the ``template`` argument.
|
||||||
|
|
||||||
|
For example, given the following URL patterns::
|
||||||
|
|
||||||
|
urlpatterns = patterns('django.views.generic.simple',
|
||||||
|
(r'^foo/$', 'direct_to_template', {'template' : 'foo_index'}),
|
||||||
|
(r'^foo/(?P<id>\d+)/$', 'direct_to_template', {'template' : 'foo_detail'}),
|
||||||
|
)
|
||||||
|
|
||||||
|
... a request to ``/foo/`` would cause the ``foo_index`` template to be
|
||||||
|
rendered, and a request to ``/foo/15/`` would cause the ``foo_detail``
|
||||||
|
template to be rendered with a context variable ``{{ params.id }}`` that is
|
||||||
|
set to ``15``.
|
||||||
|
|
||||||
|
``redirect_to``
|
||||||
|
Issue a redirect to a given URL.
|
||||||
|
|
||||||
|
The given url may contain dict-style string formatting which will be
|
||||||
|
interpolated against the params in the URL. For example, to redirect from
|
||||||
|
``/foo/<id>/`` to ``/bar/<id>/``, you could use the following urlpattern::
|
||||||
|
|
||||||
|
urlpatterns = patterns('django.views.generic.simple',
|
||||||
|
('^foo/(?p<id>\d+)/$', 'redirect_to', {'url' : '/bar/%(id)s/'}),
|
||||||
|
)
|
||||||
|
|
||||||
|
If the given url is ``None``, a HttpResponseGone (410) will be issued.
|
||||||
|
|
||||||
Using date-based generic views
|
Using date-based generic views
|
||||||
==============================
|
==============================
|
||||||
|
|
||||||
@ -322,3 +358,4 @@ The create/update/delete views are:
|
|||||||
|
|
||||||
object
|
object
|
||||||
The object about to be deleted
|
The object about to be deleted
|
||||||
|
|
||||||
|
@ -409,6 +409,7 @@ Default: A tuple of all available languages. Currently, this is::
|
|||||||
('bn', _('Bengali')),
|
('bn', _('Bengali')),
|
||||||
('cs', _('Czech')),
|
('cs', _('Czech')),
|
||||||
('cy', _('Welsh')),
|
('cy', _('Welsh')),
|
||||||
|
('da', _('Danish')),
|
||||||
('de', _('German')),
|
('de', _('German')),
|
||||||
('en', _('English')),
|
('en', _('English')),
|
||||||
('es', _('Spanish')),
|
('es', _('Spanish')),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user