コード例 #1
0
def add_page(request, category_name_slug):
    try:
        category = Category.objects.get(slug=category_name_slug)
    except Category.DoesNotExist:
        category = None

    form = PageForm()
    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            if category:
                page = form.save(commit=False)
                page.category = category
                page.views = 0
                page.save()
                return show_category(request, category_name_slug)
        else:
            print(form.errors)
    context_dict = {'form': form, 'category': category}
    return render(request, 'rango/add_page.html', context_dict)
コード例 #2
0
ファイル: views.py プロジェクト: kevinsilvaleondw/rango
def add_page(request):
    if request.method == 'POST':
        form = CategoryForm(request.POST)
        if form.is_valid():
            form.save(commit=True)
            return index(request)
        else:
            print(form.errors)
    else:
        form = PageForm()
    return render(request, 'rango/add_page.html', {'form': form})
コード例 #3
0
def add_page(request, category_name_url):
    context = RequestContext(request)
    cat_list = get_category_list()
    context_dict = {}
    context_dict['cat_list'] = cat_list

    category_name = decode_url(category_name_url)
    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.
            try:
                cat = Category.objects.get(name=category_name)
                page.category = cat
            except Category.DoesNotExist:
                return render_to_response('rango/add_page.html', context_dict,
                                          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()

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

    context_dict['category_name_url'] = category_name_url
    context_dict['category_name'] = category_name
    context_dict['form'] = form

    return render_to_response('rango/add_page.html', context_dict, context)
コード例 #4
0
def add_page(request, category_name_url):
    context = RequestContext(request)

    category_name = category_name_url.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)
                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('rango/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()

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

    return render_to_response(
        'rango/add_page.html', {
            'category_name_url': category_name_url,
            'category_name': category_name,
            'form': form
        }, context)
コード例 #5
0
def add_page(request, category_name_url):
    context = RequestContext(request)
    category_name = decode_URL(category_name_url)

    # A HTTP POST?
    if request.method == 'POST':
        form = PageForm(request.POST)

        # Have we been provided with a valid form?
        if form.is_valid():
            # save the new category to the database
            page = form.save(commit=False)

            try:
                cat = Category.objects.get(name=category_name)
                page.category = cat
            except Category.DoesNotExist:
                return render_to_response('rango/add_category.html', {},
                                          context)

            page.views = 0
            page.save()

            # return to the category page
            return category(request, category_name_url)
        else:
            # the form had errors
            print form.errors

    else:
        # if it was not a POST, display the form
        form = PageForm()

    # bad form, no form
    # render the form with error messages
    return render_to_response(
        'rango/add_page.html', {
            'category_name_url': category_name_url,
            'category_name': category_name,
            'form': form
        }, context)
コード例 #6
0
def add_page(request, category_name_slug):
    try:
        category = Category.objects.get(slug=category_name_slug)
    except Category.DoesNotExist:
        category = None

    form = PageForm()
    if request.method == "POST":
        form = PageForm(request.POST)
        if form.is_valid():
            if category:
                page = form.save(commit=False)
                page.category = category
                page.views = 0
                cat = page.save()
                print("Page %s has been added." % cat)
                return show_category(request, category_name_slug)
        else:
            print(form.errors)
    context_dict = {"form":form, "category":category}
    return render(request, "rango/add_page.html", context_dict)
コード例 #7
0
def add_page(request, category_name_slug):
    context_dict = {}
    form = PageForm()

    category = get_object_or_404(Category, slug=category_name_slug)

    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            page = form.save(commit=False)
            page.category = category
            page.views = 0
            page.save()

            return show_category(request, category_name_slug)
        else:
            print(form.errors)

    context_dict['category'] = category
    context_dict['form'] = form
    return render(request, 'rango/add_page.html', context_dict)
コード例 #8
0
    def get(self, request, category_name_slug):
        category = self.get_category(category_name_slug)

        if category is None:
            return redirect(reverse('rango:index'))

        form = PageForm()

        return render(request, 'rango/add_page.html', {
            'form': form,
            'category': category
        })
コード例 #9
0
ファイル: views.py プロジェクト: santatell/yangmin1
def add_page(request, category_name_slug):
    try:
        category = Category.objects.get(slug=category_name_slug)
    except Category.DoesNotExist:
        category = None

    form = PageForm()
    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            if category:
                page = form.save(commit=False)
                page.category = category
                page.views = 0
                page.save()

                return redirect(
                    reverse('rango:show_category',
                            kwargs={'category_name_slug': category_name_slug}))
            else:
                print(form.errors)
コード例 #10
0
ファイル: views.py プロジェクト: burked9/rango
def add_page(request, category_name_slug):  #5
    try:
        cat = Category.objects.get(slug=category_name_slug)
    except Category.DoesNotExist:
        cat = None
    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            if cat:
                page = form.save(commit=False)
                page.category = cat
                page.views = 0
                page.save()
                return category(request, category_name_slug
                                )  # probably better to use a redirect here.
        else:
            print(form.errors)
    else:
        form = PageForm()
    context_dict = {'form': form, 'category': cat}
    return render(request, 'rango/add_page.html', context_dict)
コード例 #11
0
    def get(self, request, category_name_slug):
        try:
            category = Category.objects.get(slug=category_name_slug)
        except Category.DoesNotExist:
            category = None

        if category is None:
            return redirect(reverse('rango:index'))
        
        form = PageForm()
        context_dict = {'form': form, 'category': category}
        return render(request, 'rango/add_page.html', context_dict)
コード例 #12
0
def add_page(request, category_name_slug):
    try:
        category = Category.objects.get(slug=category_name_slug)
    except Category.DoesNotExist:
        category = None

    form = PageForm()
    if request.method == "POST":
        form = PageForm(request.POST)
        if form.is_valid():
            if category:
                page = form.save(commit=False)
                page.category = category
                page.views = 0
                page.save()
                return HttpResponseRedirect(
                    reverse("rango:category", args=(category_name_slug, )))
        else:
            print(form.errors)
    context_dict = {"form": form, "category": category}
    return render(request, "rango/add_page.html", context_dict)
コード例 #13
0
def add_page(request, category_name_slug):
    form = PageForm()  # page 模型  forms.Models
    try:
        category = Category.objects.get(slug=category_name_slug)
    except Category.DoesNotExist:
        category = None

    if request.method == 'GET':
        context_dict = {'form': form, 'category': category}
        return render(request, 'rango/add_page.html', context_dict)
    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            if category:
                page = form.save(commit=False)
                page.category = category  # 后台自动添加分类和 views
                page.views = 0
                page.save()
                return HttpResponseRedirect(reverse('rango:all_pages'))
        else:  # 表单提交有错误, 返回表单, 让用户重新填写提交
            context_dict = {'form': form, 'category': category}
            return render(request, 'rango/add_page.html', context_dict)
コード例 #14
0
def add_page(request, category_name_slug):
    try:
        c = Category.objects.get(slug=category_name_slug)
    except Category.DoesNotExist:
        c = None
    form = PageForm()

    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            if c:
                p = form.save(commit=False)
                p.views = 0
                p.category = c
                p.save()
                return show_category(request, category_name_slug)
        else:
            print(form.errors)
    return render(request, 'rango/add_page.html', {
        'form': form,
        "category": c
    })
コード例 #15
0
ファイル: views.py プロジェクト: naduhrin78/TangoRango
def add_page(request, category_name_slug):

    category_name_slug = slugify(category_name_slug)

    try:
        category = Category.objects.get(slug=category_name_slug)

    except Category.DoesNotExist:
        category = None

    form = PageForm()

    url = request.POST['url']

    if str(url[1:19]) == 'http://omgili.com/':

        page = Page.objects.get_or_create(category=category,
                                          title=revreplace(
                                              request.POST['title']),
                                          url=url[1:-1],
                                          views=0)

    else:
        if request.method == 'POST':
            form = PageForm(request.POST)

            if form.is_valid():
                page = form.save(commit=False)
                page.views = 0
                page.url = url
                page.category = category
                page.save()
                return show_cat(request, category_name_slug)
            else:
                print(form.errors)

    context_dict = {'category': category, 'form': form}

    return render(request, 'rango/add_page.html', context_dict)
コード例 #16
0
def add_page(request, category_name_slug):
    try:
        category = Category.objects.get(slug=category_name_slug)
    except Category.DoesNotExist:
        category = None

    form = PageForm()
    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            if category:
                page = form.save(commit=False)
                page.category = category
                page.views = 0
                page.save()
                # переход на страницу category.html после отправки данных через форму
                return show_category(request, category_name_slug)
        else:
            print(form.errors)
    # если данные через форму не отправляли, открывется страница add_page.html
    context_dict = {'form': form, 'category': category}
    return render(request, 'rango/add_page.html', context_dict)
コード例 #17
0
    def post(self, request, category_name_slug, context_dict, category):
        form = PageForm(request.POST)
        if form.is_valid():
            page = form.save(commit=False)
            page.category = category
            page.views = 0
            page.save()

            return redirect(reverse('rango:show_category',
                                    kwargs={'category_name_slug': category_name_slug}))
        else:
            print(form.errors)
        return render(request, 'rango/add_page.html', context=context_dict)
コード例 #18
0
def add_page(request, category_name_slug):
    try:
        category = Category.objects.get(slug=category_name_slug)
    except:
        category = None
    if category is None:
        return redirect('/rango/')
    form = PageForm()
    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            if category:
                page = form.save(commit=False)
                page.category = category
                page.views = 0
                page.save()

                return redirect(reverse('rango:show_category', kwargs={'category_name_slug': category_name_slug}))
        else:
            print(form.errors)
    context_dict = {'form': form, 'category': category}
    return render(request, 'rango/add_page.html', context=context_dict)
コード例 #19
0
ファイル: views.py プロジェクト: jliel/rango
def add_page(request, category_name_url):
    category_name = encode_url(category_name_url)
    if request.method == "POST":
        form = PageForm(request.POST)

        if form.is_valid():
            page = form.save(commit=False)
            cat = Category.objects.get(name=category_name)
            page.category = cat
            page.views = 0
            page.save()
            return category(request, category_name_url)
        else:
            print(form.errors)
    else:
        form = PageForm()
    return render(
        request, 'rango/add_page.html', {
            'category_name_url': category_name_url,
            'category_name': category_name,
            'form': form
        })
コード例 #20
0
ファイル: views.py プロジェクト: Plication/tango
def add_page(request, category_name_slug):

    try:
        cat = Category.objects.get(slug=category_name_slug)
    except Category.DoesNotExist:
        cat = None

    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            if cat:                 # 取得form数据之后进行相关修改再保存
                page = form.save(commit=False)
                page.category = cat
                page.views = 0
                page.save()
                return category(request, category_name_slug)  # 重定向,交给category页面

        else:
            print(form.errors)
    else:
        form = PageForm()

    return render(request, 'rango/add_page.html/', {'cat': cat, 'form': form})
コード例 #21
0
def add_page(request, category_name_slug):
    category = Category.objects.get(slug=category_name_slug)
    form = PageForm()

    # A http post?
    if request.method == 'POST':
        print("Post recieved.")
        form = PageForm(request.POST)

        # Check validity
        if form.is_valid():
            print("Valid form.")
            page = form.save(commit=False)  # Save to database
            page.category = category
            page.views = 0
            page.save()
            return show_category(request, category_name_slug)
        else:
            print(form.errors)

    pages = Page.objects.filter(category=category)
    context_dict = {'form': form, 'category': category, 'pages': pages}
    return render(request, 'rango/add_page.html', context_dict)
コード例 #22
0
def add_page(request, category_name_slug):
    try:
        cat = Category.objects.get(slug=category_name_slug)
    except Category.DoesNotExist:
        cat = None

    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            if cat:
                page = form.save(commit=False)
                page.category = cat
                page.views = 0
                page.save()
                return HttpResponseRedirect('/rango/')  # vs. index(request)
        else:
            print form.errors
    else:
        form = PageForm()

    context_dict = {'form': form, 'category': cat, 'slug': category_name_slug}

    return render(request, 'rango/add_page.html/', context_dict)
コード例 #23
0
def fifth_add_page(request, category_name_slug):  #test_second_page
    context_dict = {}
    # A HTTP POST?
    try:
        category = Category.objects.get(slug=category_name_slug)
    except Category.DoesNotExist:
        category = None
    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            if category:
                page = form.save(commit=False)  #先不提交
                page.category = category  #设置category外键
                page.views = 0
                page.save()  # 此时提交
                return third_category(request, category_name_slug)
        else:
            print form.errors
    else:
        form = PageForm()
    context_dict['form'] = form
    context_dict['category'] = category
    return render(request, 'rango/fifth_add_page.html', context_dict)
コード例 #24
0
def add_page(request, category_name_url):
    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            page = form.save(commit=False)
            try:
                cat = Category.objects.get(name=category_name_url)
                page.category = category
            except Category.DoesNotExist:
                return render(request, 'rango/add_category.html', {})
            page.views = 0
            page.save()
            return category(request, category_name_url)
        else:
            print(form.errors)
    else:
        form = PageForm()
    return render(
        request, 'rango/add_page.html', {
            'category_name_url': category_name_url,
            'category_name': category_name,
            'form': form
        })
コード例 #25
0
def add_page(request, category_name_slug):
    """View that handles the form to add pages to category"""
    try:
        cat = Category.objects.get(slug=category_name_slug)
    except Category.DoesNotExist:
        cat = None

    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            if cat:
                page = form.save(commit=False)
                page.category = cat
                page.views = 0
                page.save()
                return category(request, category_name_slug)
        else:
            print form.errors

    else:
        form = PageForm()
    context_dict = {'form': form, 'category': cat}
    return render(request, 'rango/add_page.html', context_dict)
コード例 #26
0
def add_page(request, category_name_url):
    context = RequestContext(request)

    if request.method == "POST":
        form = PageForm(request.POST)
        if form.is_valid():
            page = form.save(commit=False)
            cat = Category.objects.get(name=category_name)
            page.category = cat
            page.views = 0
            page.likes = 0
            page.save()
            return category(request, category_name_url)

        else:
            print(form.errors)

    else:
        form = PageForm()
    return render_to_response('rango/add_page.html', {
        'category_name_url': category_name_url,
        'form': form
    }, context)
コード例 #27
0
    def test_page_form_class(self):
        """

        Does the PageForm implementation exist, and does it contain the correct instance variables?

        """

        # Check that we can import PageForm.

        import rango.forms

        self.assertTrue(
            'PageForm' in dir(rango.forms),
            f"{FAILURE_HEADER}The class PageForm could not be found in Rango's forms.py module. Check you have created this class in the correct location, and try again.{FAILURE_FOOTER}"
        )

        from rango.forms import PageForm

        page_form = PageForm()

        # Do you correctly link Page to PageForm?

        self.assertEqual(
            type(page_form.__dict__['instance']), Page,
            f"{FAILURE_HEADER}The PageForm does not link to the Page model. Have a look in the PageForm's nested Meta class for the model attribute.{FAILURE_FOOTER}"
        )

        # Now check that all the required fields are present, and of the correct form field type.

        fields = page_form.fields

        expected_fields = {
            'title': django_fields.CharField,
            'url': django_fields.URLField,
            'views': django_fields.IntegerField,
        }

        for expected_field_name in expected_fields:

            expected_field = expected_fields[expected_field_name]

            self.assertTrue(
                expected_field_name in fields.keys(),
                f"{FAILURE_HEADER}The field '{expected_field_name}' was not found in your PageForm implementation. Check you have all required fields, and try again.{FAILURE_FOOTER}"
            )

            self.assertEqual(
                expected_field, type(fields[expected_field_name]),
                f"{FAILURE_HEADER}The field '{expected_field_name}' in PageForm was not of the expected type '{type(fields[expected_field_name])}'.{FAILURE_FOOTER}"
            )
コード例 #28
0
ファイル: views.py プロジェクト: erikbjar/rango_django
def add_page(request):
    # A HTTP POST?
    if request.method == 'POST':
        form = PageForm(request.POST)

        # Have we been provided with a valid form?
        if form.is_valid():
            # Save the new category to the database.
            form.save(commit=True)

            # Now call the index() view.
            # The user will be shown the homepage.
            return index(request)
        else:
            # The supplied form contained errors - just print them to the terminal.
            print form.errors
    else:
        # If the request was not a POST, display the form to enter details.
        form = PageForm()

    # Bad form (or form details), no form supplied...
    # Render the form with error messages (if any).
    return render(request, 'rango/add_page.html', {'form': form})
コード例 #29
0
def add_page(request, category_name_slug):
    try:
        category = Category.objects.get(slug=category_name_slug)
    except Category.DoesNotExist:
        category = None

    # Can't add a page to a category that doesn't exist
    if category is None:
        return redirect(reverse('rango:index'))

    form = PageForm()

    # A HTTP POST?
    if request.method == 'POST':
        form = PageForm(request.POST)

        # Have we been provided with a valid form?
        if form.is_valid():
            if category:
                # Save the page to the database.
                page = form.save(commit=False)
                page.category = category
                page.views = 0
                page.save()
                # Now that the page is saved, we could confirm this.
                # For now just redirect the user back to the index view.
                return redirect(
                    reverse('rango:show_category',
                            kwargs={'category_name_slug': category_name_slug}))
        else:
            # The supplied form contains errors - just print them to the terminal.
            print(form.errors)

    # Will handle the bad form, new form, or no form supplied cases.
    # Render the form with error messages (if any).
    context_dict = {'form': form, 'category': category}
    return render(request, 'rango/add_page.html', context=context_dict)
コード例 #30
0
def add_page(request, category_name_slug):
    try:
        # Get category slug
        category = Category.objects.get(slug=category_name_slug)
    except Category.DoesNotExist:
        # Set to None if not exist
        category = None

    form = PageForm()

    # POST Request
    if request.method == 'POST':
        form = PageForm(request.POST)
        # If form is valid and category isn't empty, save form then return template
        if form.is_valid():
            if category:
                print(category, '- Category from add_page')
                page = form.save(commit=False)
                page.category = category
                page.views = 0
                page.save()
                request.method = 'GET'
                return redirect('/rango/category/'+category_name_slug)
        else:
            # Return form erors
            print(form.errors)
    
    # Init context to be passed in the template
    context_dict = {
        'form': form,
        'category': category
    }

    return render(request,
                  'rango/add_page.html',
                  context_dict)