Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

I keep getting 'WSGIRequest' object has no attribute 'Get' on django

Tags:

python

django

I'm trying to build a little "boards" app for practicing purposes. I'm currently stuck on a page, where a error occurs if I try to load a paginator template.

The error traceback looks like the following:

AttributeError at /board/2/
'WSGIRequest' object has no attribute 'Get'
Request Method: GET
Request URL:    http://192.168.56.101:8000/board/2/
Django Version: 1.7.6
Exception Type: AttributeError
Exception Value:    
'WSGIRequest' object has no attribute 'Get'
Exception Location: /home/web/workspace/simpleboard/board/views.py in read_board, line 38
Python Executable:  /home/web/venv/bin/python
Python Version: 3.4.2
Python Path:    
['/home/web/workspace/simpleboard',
 '/home/web/venv/lib/python34.zip',
 '/home/web/venv/lib/python3.4',
 '/home/web/venv/lib/python3.4/plat-linux',
 '/home/web/venv/lib/python3.4/lib-dynload',
 '/home/web/.pyenv/versions/3.4.2/lib/python3.4',
 '/home/web/.pyenv/versions/3.4.2/lib/python3.4/plat-linux',
 '/home/web/venv/lib/python3.4/site-packages']


Traceback Switch to copy-and-paste view

/home/web/venv/lib/python3.4/site-packages/django/core/handlers/base.py in get_response
                response = wrapped_callback(request, *callback_args, **callback_kwargs) ...
▶ Local vars
/home/web/workspace/simpleboard/board/views.py in read_board
page = request.Get.get("page") ...
▶ Local vars

Views:

def read_board(request, board_id):
    board = get_object_or_404(Board, id=board_id)
    article_list = board.article_set.order_by("-written_date")
    paginator = Paginator(article_list, 5)
    page = request.Get.get("page")           <--error here, apparently.

    try:
        articles = paginator.page(page)    
    except PageNotAnInteger:
        articles = paginator.page(1)    
    except EmptyPage:
        articles = paginator.page(paginator.num_pages)

    context = {
        "board" : board,
        "articles" : articles,
        "pages" : paginator.page_range
    }

    return render(request, "board.html", context)

Thanks.

PS: tab key is not working on stackoverflow, so I had to indent with spaces instead. When I press tab, it jumps to "tags" box underneath. Does anyone know what the problem is? As far as I can remember, I worked fine last time. (I'm on Mac OS by the way.)

like image 703
Bossam Avatar asked Sep 27 '15 12:09

Bossam


1 Answers

You have misprinted GET. Use:

page = request.GET.get("page")

Please read "Request and response objects" article on Django Docs.

like image 192
Daniil Ryzhkov Avatar answered Oct 02 '22 05:10

Daniil Ryzhkov