Exemple #1
0
def add_page(request, category_name_url):
  context = RequestContext(request)
  
  category_name = category_name_url.replace(' ', '_')
  context_dict = {'category_name': category_name}
  category_name_ref = category_name.replace('_',' ')
  
  try:
    category = Category.objects.get(name=category_name_ref)
    context_dict['category'] = category
    
  except Category.DoesNotExist:
    return render_to_response('bookmark/error.html', {}, context)
      
  if request.method == 'POST':
    page = PageForm(request.POST)
    if page.is_valid():
      savedstate = page.save(commit=False)
      savedstate.category = Category.objects.get(name=category_name_url)
      savedstate.views = 0
      savedstate.save()
      page.save_m2m()
      
      return index(request)
    else:
      print page.errors
      
  else:
    page = PageForm()
    '''if page.is_valid():
      print("SHI")
      savedstate = page.save(commit=False)
      savedstate.category = Category.objects.get(name=category_name_url)
      savedstate.views = 0
      savedstate.save()
      page.save_m2m()
      
      return index(request)
    else:
      print page.errors'''
  
  context_dict['page'] = page
  
  return render_to_response('bookmark/add_page.html', context_dict, context)
Exemple #2
0
def add_page(request, category_name_url):
    context = RequestContext(request)

    category_name = decode_url(category_name_url)
    category_name_ref = category_name.replace('_',' ')
    if request.method == 'POST':
        form = PageForm(request.POST)

        if form.is_valid():
            # This time we cannot commit straight away.
            # Not all fields are automatically populated!
            page = form.save(commit=False)

            # Retrieve the associated Category object so we can add it.
            # Wrap the code in a try block - check if the category actually exists!
            try:
                cat = Category.objects.get(name=category_name_ref)
                page.category = cat
            except Category.DoesNotExist:
                # If we get here, the category does not exist.
                # Go back and render the add category form as a way of saying the category does not exist.
                return render_to_response('bookmark/add_category.html', {}, context)

            # Also, create a default value for the number of views.
            page.views = 0

            # With this, we can then save our new model instance.
            page.save()
            form.save_m2m()

            # Now that the page is saved, display the category instead.
            return category(request)
        else:
            print form.errors
    else:
        form = PageForm()

    return render_to_response( 'bookmark/add_page.html',
            {'category_name_url': category_name_url,
             'category_name': category_name, 'form': form},
             context)