Open shawshanks opened 8 years ago
Can you check your spelling of visit.. you have:
visits (in your template)
and visists (in your browser)
Maybe in your view you saw the cookie as “visists” and not “visits”
L
On 9 Nov 2016, at 12:23, yamei notifications@github.com wrote:
When I finished 10.5 section and opened run the server, my Firefox didn't show the number of times of visits on the screen. It just displayed visits:. In other words, I couldn't see the value of {{ visits }} .
While I checked my browser's cookie, it had the value of visists andlast_visit.
The problem confused me. Who can tell me why? I will be appreciated that .
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/leifos/tango_with_django_19/issues/44, or mute the thread https://github.com/notifications/unsubscribe-auth/AB02B6XSoLzZVoHnHq8wC3Ku5mkCmF0nks5q8bs6gaJpZM4KtekA.
@leifos Very thank you. But it's the typo of this Issue rather than code and I had corrected it.
Here is what I did next:
Just now I finished 10.6 Session Data. According to the tutorial, I edited views and cleared my browser's cookie entirely. And then I run the server, the browser got the correct value of visits
. During the process, I didn't change the template of index.html
.
After that, I carefully modified my view.py
and made it returned to section 10.5 Client Side Cookies . But it also didn't work (as same as last time). My code is as follows:
def visitor_cookie_handler(request, response):
visits = int(request.COOKIES.get('visits', '1'))
last_visit_cookie = request.COOKIES.get('last_visit', str(datetime.now()))
last_visit_time = datetime.strptime(last_visit_cookie[:-7], '%Y-%m-%d %H:%M:%S')
# If it's been more than a day since the last visit..
if (datetime.now() - last_visit_time).seconds > 1:
visits = visits + 1
# update the last visit cookie now that we have updated the count
response.set_cookie('last_visit', str(datetime.now()))
else:
visits = 1
# set the last visit cookie
response.set_cookie('last_visit', last_visit_cookie)
# Update/set the visits cookie
response.set_cookie('visits', visits)
def index(request):
category_list = Category.objects.order_by('-likes')[:5]
page_list = Page.objects.order_by('-views')[:5]
context_dict = {'categories': category_list, 'pages': page_list}
response = render(request, 'rango/index.html', context_dict)
visitor_cookie_handler(request, response)
return response
<p>Visits: {{ visits }}</p>
<p>last_visit: {{ last_visit }}</p>
Hmm.. I suspect that the visitor_cookie_handler() method needs to return the response object to index(), and then index needs to return that.
Has this been resolved? What action should we take here?
Has anyone fixed this? I got mine to work, but as soon as I sign out and sign back in, the counter starts from 1 again.
When I finished 10.5 section and run the server, my Firefox didn't show the number of times of visits on the screen. It just displayed
visits:
. In other words, I couldn't see the value of{{ visits }}
.While I checked my browser's cookie, it had the value of
visists
andlast_visit
.The problem confused me. Who can tell me why? I will be appreciated that .