Permalink
Browse files

Added _external support to url_for

  • Loading branch information...
1 parent a7266ff commit 75461c1467bbb2d83ee787bb13f4a338a4b8ad3e @mitsuhiko mitsuhiko committed May 2, 2010
Showing with 7 additions and 1 deletion.
  1. +1 −0 CHANGES
  2. +4 −1 flask.py
  3. +2 −0 tests/flask_tests.py
View
@@ -14,6 +14,7 @@ Version 0.2
- :meth:`~flask.Flask.add_url_rule` can now also register a
view function.
- server listens on 127.0.0.1 by default now to fix issues with chrome.
+- added external URL support.
Version 0.1
-----------
View
@@ -152,8 +152,11 @@ def url_for(endpoint, **values):
:param endpoint: the endpoint of the URL (name of the function)
:param values: the variable arguments of the URL rule
+ :param _external: if set to `True`, an absolute URL is generated.
"""
- return _request_ctx_stack.top.url_adapter.build(endpoint, values)
+ external = values.pop('_external', False)
+ return _request_ctx_stack.top.url_adapter.build(endpoint, values,
+ force_external=external)
def get_template_attribute(template_name, attribute):
View
@@ -227,6 +227,8 @@ def hello():
pass
with app.test_request_context():
assert flask.url_for('hello', name='test x') == '/hello/test%20x'
+ assert flask.url_for('hello', name='test x', _external=True) \
+ == 'http://localhost/hello/test%20x'
def test_custom_converters(self):
from werkzeug.routing import BaseConverter

1 comment on commit 75461c1

Owner

mitsuhiko commented on 75461c1 May 3, 2010

Do you have a testcase that fails?

Please sign in to comment.