TypeError: cannot unpack non-iterable int object in Django views function
up vote
2
down vote
favorite
Following is my code in URL.py, views.py and HTML page. However, it returns me the error: TypeError: cannot unpack non-iterable int object.
urlpatterns = [
path('', views.blogs_home, name='blogs'),
path('<int:id>', views.single_blog, name='detailed_view'),
]
I am trying to capture the id of posts blogs in the list view to get the blog object from the database with id query. Following is my view code.
def single_blog(request,id):
blog_single = Blogs.objects.get(id)
context = 'blog_single': blog_single
template = 'blog_home.html'
return render(request, template, context)
However, as I mentioned, it returns the above error.
Could someone explain what I am doing wrong
python django django-views django-urls
add a comment |
up vote
2
down vote
favorite
Following is my code in URL.py, views.py and HTML page. However, it returns me the error: TypeError: cannot unpack non-iterable int object.
urlpatterns = [
path('', views.blogs_home, name='blogs'),
path('<int:id>', views.single_blog, name='detailed_view'),
]
I am trying to capture the id of posts blogs in the list view to get the blog object from the database with id query. Following is my view code.
def single_blog(request,id):
blog_single = Blogs.objects.get(id)
context = 'blog_single': blog_single
template = 'blog_home.html'
return render(request, template, context)
However, as I mentioned, it returns the above error.
Could someone explain what I am doing wrong
python django django-views django-urls
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
Following is my code in URL.py, views.py and HTML page. However, it returns me the error: TypeError: cannot unpack non-iterable int object.
urlpatterns = [
path('', views.blogs_home, name='blogs'),
path('<int:id>', views.single_blog, name='detailed_view'),
]
I am trying to capture the id of posts blogs in the list view to get the blog object from the database with id query. Following is my view code.
def single_blog(request,id):
blog_single = Blogs.objects.get(id)
context = 'blog_single': blog_single
template = 'blog_home.html'
return render(request, template, context)
However, as I mentioned, it returns the above error.
Could someone explain what I am doing wrong
python django django-views django-urls
Following is my code in URL.py, views.py and HTML page. However, it returns me the error: TypeError: cannot unpack non-iterable int object.
urlpatterns = [
path('', views.blogs_home, name='blogs'),
path('<int:id>', views.single_blog, name='detailed_view'),
]
I am trying to capture the id of posts blogs in the list view to get the blog object from the database with id query. Following is my view code.
def single_blog(request,id):
blog_single = Blogs.objects.get(id)
context = 'blog_single': blog_single
template = 'blog_home.html'
return render(request, template, context)
However, as I mentioned, it returns the above error.
Could someone explain what I am doing wrong
python django django-views django-urls
python django django-views django-urls
asked Nov 10 at 19:33
jeff
132112
132112
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
You should specify the name of the parameter in .filter(..)
or .get(..)
calls:
def single_blog(request, id):
blog_single = Blogs.objects.get(id=id)
context = 'blog_single': blog_single
template = 'blog_home.html'
return render(request, template, context)
I also propose to rename your variable to something else (so both in the urls.py
and views.py
), since id
is a builtin function, and now a local variable is "hiding" this builtin.
Thank you, Willem and your suggestions as well. Thanks, mate.
– jeff
Nov 10 at 19:38
Hello Williem. I have changed the id in both urls.py and views.py to post_id. However, a new error appears - Reverse for 'detailed_view' with no arguments not found. 1 pattern(s) tried: ['blogs/(?P<post_id>[0-9]+)$']
– jeff
Nov 10 at 19:52
@jeff: that is probably because there is a% url ... %
withid=...
, instead ofpost_id=...
.
– Willem Van Onsem
Nov 10 at 20:46
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
You should specify the name of the parameter in .filter(..)
or .get(..)
calls:
def single_blog(request, id):
blog_single = Blogs.objects.get(id=id)
context = 'blog_single': blog_single
template = 'blog_home.html'
return render(request, template, context)
I also propose to rename your variable to something else (so both in the urls.py
and views.py
), since id
is a builtin function, and now a local variable is "hiding" this builtin.
Thank you, Willem and your suggestions as well. Thanks, mate.
– jeff
Nov 10 at 19:38
Hello Williem. I have changed the id in both urls.py and views.py to post_id. However, a new error appears - Reverse for 'detailed_view' with no arguments not found. 1 pattern(s) tried: ['blogs/(?P<post_id>[0-9]+)$']
– jeff
Nov 10 at 19:52
@jeff: that is probably because there is a% url ... %
withid=...
, instead ofpost_id=...
.
– Willem Van Onsem
Nov 10 at 20:46
add a comment |
up vote
1
down vote
accepted
You should specify the name of the parameter in .filter(..)
or .get(..)
calls:
def single_blog(request, id):
blog_single = Blogs.objects.get(id=id)
context = 'blog_single': blog_single
template = 'blog_home.html'
return render(request, template, context)
I also propose to rename your variable to something else (so both in the urls.py
and views.py
), since id
is a builtin function, and now a local variable is "hiding" this builtin.
Thank you, Willem and your suggestions as well. Thanks, mate.
– jeff
Nov 10 at 19:38
Hello Williem. I have changed the id in both urls.py and views.py to post_id. However, a new error appears - Reverse for 'detailed_view' with no arguments not found. 1 pattern(s) tried: ['blogs/(?P<post_id>[0-9]+)$']
– jeff
Nov 10 at 19:52
@jeff: that is probably because there is a% url ... %
withid=...
, instead ofpost_id=...
.
– Willem Van Onsem
Nov 10 at 20:46
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
You should specify the name of the parameter in .filter(..)
or .get(..)
calls:
def single_blog(request, id):
blog_single = Blogs.objects.get(id=id)
context = 'blog_single': blog_single
template = 'blog_home.html'
return render(request, template, context)
I also propose to rename your variable to something else (so both in the urls.py
and views.py
), since id
is a builtin function, and now a local variable is "hiding" this builtin.
You should specify the name of the parameter in .filter(..)
or .get(..)
calls:
def single_blog(request, id):
blog_single = Blogs.objects.get(id=id)
context = 'blog_single': blog_single
template = 'blog_home.html'
return render(request, template, context)
I also propose to rename your variable to something else (so both in the urls.py
and views.py
), since id
is a builtin function, and now a local variable is "hiding" this builtin.
answered Nov 10 at 19:35
Willem Van Onsem
140k16132223
140k16132223
Thank you, Willem and your suggestions as well. Thanks, mate.
– jeff
Nov 10 at 19:38
Hello Williem. I have changed the id in both urls.py and views.py to post_id. However, a new error appears - Reverse for 'detailed_view' with no arguments not found. 1 pattern(s) tried: ['blogs/(?P<post_id>[0-9]+)$']
– jeff
Nov 10 at 19:52
@jeff: that is probably because there is a% url ... %
withid=...
, instead ofpost_id=...
.
– Willem Van Onsem
Nov 10 at 20:46
add a comment |
Thank you, Willem and your suggestions as well. Thanks, mate.
– jeff
Nov 10 at 19:38
Hello Williem. I have changed the id in both urls.py and views.py to post_id. However, a new error appears - Reverse for 'detailed_view' with no arguments not found. 1 pattern(s) tried: ['blogs/(?P<post_id>[0-9]+)$']
– jeff
Nov 10 at 19:52
@jeff: that is probably because there is a% url ... %
withid=...
, instead ofpost_id=...
.
– Willem Van Onsem
Nov 10 at 20:46
Thank you, Willem and your suggestions as well. Thanks, mate.
– jeff
Nov 10 at 19:38
Thank you, Willem and your suggestions as well. Thanks, mate.
– jeff
Nov 10 at 19:38
Hello Williem. I have changed the id in both urls.py and views.py to post_id. However, a new error appears - Reverse for 'detailed_view' with no arguments not found. 1 pattern(s) tried: ['blogs/(?P<post_id>[0-9]+)$']
– jeff
Nov 10 at 19:52
Hello Williem. I have changed the id in both urls.py and views.py to post_id. However, a new error appears - Reverse for 'detailed_view' with no arguments not found. 1 pattern(s) tried: ['blogs/(?P<post_id>[0-9]+)$']
– jeff
Nov 10 at 19:52
@jeff: that is probably because there is a
% url ... %
with id=...
, instead of post_id=...
.– Willem Van Onsem
Nov 10 at 20:46
@jeff: that is probably because there is a
% url ... %
with id=...
, instead of post_id=...
.– Willem Van Onsem
Nov 10 at 20:46
add a comment |
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53242684%2ftypeerror-cannot-unpack-non-iterable-int-object-in-django-views-function%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown