本文整理汇总了Python中django.urls.resolve方法的典型用法代码示例。如果您正苦于以下问题:Python urls.resolve方法的具体用法?Python urls.resolve怎么用?Python urls.resolve使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类django.urls
的用法示例。
在下文中一共展示了urls.resolve方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: process_template_response
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def process_template_response(self, request, response):
try:
url = resolve(request.path_info)
except Resolver404:
return response
if not url.app_name == 'admin' and \
url.url_name not in ['index', 'app_list']:
# current view is not a django admin index
# or app_list view, bail out!
return response
try:
app_list = response.context_data['app_list']
except KeyError:
# there is no app_list! nothing to reorder
return response
self.init_config(request, app_list)
ordered_app_list = self.get_app_list()
response.context_data['app_list'] = ordered_app_list
return response
示例2: test_action_code_confusion
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def test_action_code_confusion(self):
# Obtain change password code
self.assertResetPasswordSuccessResponse(self.reset_password(self.email))
reset_password_link = self.assertResetPasswordEmail(self.email)
path = urlparse(reset_password_link).path
reset_password_code = resolve(path).kwargs.get('code')
# Obtain deletion code
self.assertDeleteAccountSuccessResponse(self.delete_account(self.email, self.password))
delete_link = self.assertDeleteAccountEmail(self.email)
path = urlparse(delete_link).path
deletion_code = resolve(path).kwargs.get('code')
# Swap codes
self.assertNotEqual(reset_password_code, deletion_code)
delete_link = delete_link.replace(deletion_code, reset_password_code)
reset_password_link = reset_password_link.replace(reset_password_code, deletion_code)
# Make sure links don't work
self.assertVerificationFailureInvalidCodeResponse(self.client.verify(delete_link))
self.assertVerificationFailureInvalidCodeResponse(self.client.verify(reset_password_link,
data={'new_password': 'dummy'}))
示例3: parse_self_atom
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def parse_self_atom(feed_url):
"""
解析本站提供的 RSS 源
:param feed_url:
:return: 解析结果,成功字典;失败 None
"""
feed_path = urllib.parse.urlparse(feed_url).path
try:
name = resolve(feed_path).kwargs.get('name')
except:
name = None
if name:
try:
Site.objects.get(name=name, status='active')
return {"name": name}
except:
logger.warning(f'订阅源不存在:`{feed_url}')
return None
示例4: get_admin_site
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def get_admin_site(current_app):
"""
Method tries to get actual admin.site class, if any custom admin sites
were used. Couldn't find any other references to actual class other than
in func_closer dict in index() func returned by resolver.
"""
try:
resolver_match = resolve(reverse('%s:index' % current_app))
# Django 1.9 exposes AdminSite instance directly on view function
if hasattr(resolver_match.func, 'admin_site'):
return resolver_match.func.admin_site
for func_closure in resolver_match.func.__closure__:
if isinstance(func_closure.cell_contents, AdminSite):
return func_closure.cell_contents
except:
pass
return admin.site
示例5: process_url
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def process_url(self, url, app=None):
"""
Try to guess if it is absolute url or named
"""
if url is None:
return ''
if not url or '/' in url:
return url
# Model link, ex: 'auth.user'
if '.' in url:
url_parts = url.split('.')
model = self.make_model_from_native(url_parts[1], url_parts[0])
if model:
if app:
app['model'] = model
return model['url']
# Try to resolve as named url, ex: 'admin:index'
try:
return reverse(url)
except:
return url
示例6: get_admin_site
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def get_admin_site(current_app):
"""
Method tries to get actual admin.site class, if any custom admin sites
were used. Couldn't find any other references to actual class other than
in func_closer dict in index() func returned by resolver.
"""
try:
resolver_match = resolve(reverse('%s:index' % current_app))
# Django 1.9 exposes AdminSite instance directly on view function
if hasattr(resolver_match.func, 'admin_site'):
return resolver_match.func.admin_site
for func_closure in resolver_match.func.__closure__:
if isinstance(func_closure.cell_contents, AdminSite):
return func_closure.cell_contents
except:
pass
from django.contrib import admin
return admin.site
示例7: test_simple
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def test_simple(self, request_factory):
from django.urls import resolve
request = request_factory.get('/admin/')
request.resolver_match = resolve('/admin/')
openapi_request = DjangoOpenAPIRequest(request)
path = {}
query = {}
headers = {
'Cookie': '',
}
cookies = {}
assert openapi_request.parameters == RequestParameters(
path=path,
query=query,
header=headers,
cookie=cookies,
)
assert openapi_request.method == request.method.lower()
assert openapi_request.full_url_pattern == \
request._current_scheme_host + request.path
assert openapi_request.body == request.body
assert openapi_request.mimetype == request.content_type
示例8: authorize
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def authorize(self, request):
if not settings.MAINTENANCE_ENABLE:
# Not to use this env
return True
current_url = resolve(request.path_info).url_name
if current_url in [
'home', 'login', 'logout', 'maintenance', 'list',
'detail', 'bill_download', 'pmt_download'
]:
if request.user.is_authenticated:
if request.user.is_superuser:
return True
else:
# Logout all non superusers (local admins)
logout(request)
return True
else:
return True
else:
return False
示例9: process_request
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def process_request(self, request):
if not settings.ST_PRIVATE_FORUM:
return
if request.user.is_authenticated:
return
resolver_match = resolve(request.path)
if not resolver_match.namespaces:
return
if resolver_match.namespaces[0] != 'spirit':
return
full_namespace = ':'.join(resolver_match.namespaces)
if full_namespace == 'spirit:user:auth':
return
return redirect_to_login(
next=request.get_full_path(),
login_url=settings.LOGIN_URL)
示例10: transform_model
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def transform_model(
request: http.HttpRequest,
workflow: Optional[models.Workflow] = None,
) -> http.HttpResponse:
"""Show the table of models.
:param request: HTTP Request
:param workflow: Object to apply the models.
:return:
"""
url_name = resolve(request.path).url_name
is_model = url_name == 'model'
table_err = None
if request.user.is_superuser:
table_err = models.Plugin.objects.filter(is_model=None)
return render(
request,
'dataops/transform_model.html',
{
'table': services.create_model_table(request, workflow, is_model),
'is_model': is_model,
'table_err': table_err})
示例11: test_resolve_account_URLs
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def test_resolve_account_URLs(self):
resolver = resolve('/accounts/login/')
self.assertEqual(resolver.view_name, 'account_login')
resolver = resolve('/accounts/signup/')
self.assertEqual(resolver.view_name, 'account_signup')
resolver = resolve('/accounts/logout/')
self.assertEqual(resolver.view_name, 'account_logout')
resolver = resolve('/accounts/password/reset/')
self.assertEqual(resolver.view_name, 'account_reset_password')
示例12: canonical_url
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def canonical_url(context, entry=None):
if entry and resolve(context.request.path_info).url_name == 'wagtail_serve':
return context.request.build_absolute_uri(entry_url(context, entry, entry.blog_page))
return context.request.build_absolute_uri()
示例13: add_preserved_filters
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def add_preserved_filters(self, context, url, popup=False, to_field=None):
opts = context.get('opts')
preserved_filters = context.get('preserved_filters')
parsed_url = list(urlparse(url))
parsed_qs = dict(parse_qsl(parsed_url[4]))
merged_qs = dict()
if opts and preserved_filters:
preserved_filters = dict(parse_qsl(preserved_filters))
match_url = '/%s' % url.partition(get_script_prefix())[2]
try:
match = resolve(match_url)
except Resolver404:
pass
else:
current_url = '%s:%s' % (match.app_name, match.url_name)
changelist_url = 'admin:%s_changelist' % self.get_base_viewname()
if changelist_url == current_url and '_changelist_filters' in preserved_filters:
preserved_filters = dict(parse_qsl(preserved_filters['_changelist_filters']))
merged_qs.update(preserved_filters)
if popup:
from django.contrib.admin.options import IS_POPUP_VAR
merged_qs[IS_POPUP_VAR] = 1
if to_field:
from django.contrib.admin.options import TO_FIELD_VAR
merged_qs[TO_FIELD_VAR] = to_field
merged_qs.update(parsed_qs)
parsed_url[4] = urlencode(merged_qs)
return urlunparse(parsed_url)
示例14: view_func
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def view_func(self, *args, **kwargs):
if self._view_func is None:
match = resolve(self.view_url)
self._view_func = match.func
return self._view_func(*args, **kwargs)
示例15: link_to_view
# 需要导入模块: from django import urls [as 别名]
# 或者: from django.urls import resolve [as 别名]
def link_to_view(self, url):
url = url.replace('http://testserver/', '/')
url = url.replace('http://localhost:8000/', '/')
return resolve(url).func