Introduction
The python tagpageform example is extracted from the most popular open source projects, you can refer to the following example for usage.
Programming language: Python
Namespace/package name: orbtagsforms
Example#1File:
test_forms.pyProject:
wellfire/django-orb
def test_tag_page_validation(page):
form = TagPageForm(data={'order': TagPageForm.CREATED, 'page': page})
if page > 0:
assert form.is_valid()
else:
assert not form.is_valid()
Example#2File:
test_forms.pyProject:
wellfire/django-orb
def test_tag_order_validation(order_by):
form = TagPageForm(data={'order': order_by, 'page': 1})
if order_by in {option[0] for option in TagPageForm.ORDER_OPTIONS}:
assert form.is_valid()
assert form.cleaned_data['order'] == order_by
else:
assert not form.is_valid()
Example#3File:
test_forms.pyProject:
wellfire/django-orb
def test_tag_page_number_validation(page):
form = TagPageForm(data={'page': page})
try:
page_num = int(page)
except (TypeError, ValueError):
assert not form.is_valid()
else:
if page_num > 0:
assert form.is_valid()
else:
assert not form.is_valid()
Example#4File:
views.pyProject:
wellfire/django-orb
def tag_view(request, tag_slug):
"""
Renders a tag detail page.
Allows the user to paginate resultes and sort by preselected options.
Args:
request: HttpRequest
tag_slug: the identifier for the tag
Returns:
Rendered response with a tag's resource list
"""
tag = get_object_or_404(Tag, slug=tag_slug)
filter_params = {
'page': 1,
'order': TagPageForm.CREATED,
}
params_form = TagPageForm(data=request.GET)
if params_form.is_valid():
filter_params.update(params_form.cleaned_data)
order_by = filter_params['order']
if order_by == TagPageForm.RATING:
data = Resource.resources.approved().with_ratings(tag).order_by(order_by)
else:
data = Resource.resources.approved().for_tag(tag).order_by(order_by)
paginator = Paginator(data, settings.ORB_PAGINATOR_DEFAULT)
try:
resources = paginator.page(filter_params['page'])
except (EmptyPage, InvalidPage):
resources = paginator.page(paginator.num_pages)
show_filter_link = tag.category.slug in [slug for name, slug in settings.ADVANCED_SEARCH_CATEGORIES]
tag_viewed.send(sender=tag, tag=tag, request=request)
is_geo_tag = tag.category.name == "Geography"
return render(request, 'orb/tag.html', {
'tag': tag,
'page': resources,
'params_form': params_form,
'show_filter_link': show_filter_link,
'is_geo_tag': is_geo_tag,
})
Example#5File:
test_forms.pyProject:
wellfire/django-orb
def test_valid_page_numbers(page, expected):
form = TagPageForm(data={'page': page})
form.is_valid()
assert form.cleaned_data['page'] == expected