return entries, context
def get_entries_by_tag(self, request, tag_slugs, extra_context=None):
- tags = []
- for tag_slug in tag_slugs.replace('+', '/').split('/'):
- if tag_slug: # ignore blank slugs, handles for multiple consecutive separators (+ or /)
- try:
- tag = self.blog.entry_tags.get(slug=tag_slug)
- except:
- raise Http404
- tags.append(tag)
- if len(tags) <= 0:
+ tag_slugs = tag_slugs.replace('+', '/').split('/')
+ tags = self.blog.entry_tags.filter(slug__in=tag_slugs)
+
+ if not tags:
raise Http404
+
+ # Raise a 404 on an incorrect slug.
+ found_slugs = [tag.slug for tag in tags]
+ for slug in tag_slugs:
+ if slug and slug not in found_slugs:
+ raise Http404
entries = self.blog.entries.all()
for tag in tags:
return self.manage_account_page.render_to_response(request, extra_context=context)
def has_valid_account(self, user):
- user_form, profile_form = self.get_account_forms()
- forms = []
- forms.append(user_form(data=get_field_data(user, self.user_fields)))
-
- if profile_form is not None:
- profile = self.account_profile._default_manager.get_or_create(user=user)[0]
- forms.append(profile_form(data=get_field_data(profile, self.account_profile_fields)))
-
- for form in forms:
- if not form.is_valid():
- return False
- return True
+ form = self.account_form(user, {})
+ form.data = form.initial
+ return form.is_valid()
def account_required(self, view):
def inner(request, *args, **kwargs):