相关疑难解决方法(0)

如何在django中获取用户IP地址?

如何在django中获取用户的IP?

我有这样的观点:

# Create your views
from django.contrib.gis.utils import GeoIP
from django.template import  RequestContext
from django.shortcuts import render_to_response


def home(request):
  g = GeoIP()
  client_ip = request.META['REMOTE_ADDR']
  lat,long = g.lat_lon(client_ip)
  return render_to_response('home_page_tmp.html',locals())
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

KeyError at /mypage/
    'REMOTE_ADDR'
    Request Method: GET
    Request URL:    http://mywebsite.com/mypage/
    Django Version: 1.2.4
    Exception Type: KeyError
    Exception Value:    
    'REMOTE_ADDR'
    Exception Location: /mysite/homepage/views.py in home, line 9
    Python Executable:  /usr/bin/python
    Python Version: 2.6.6
    Python Path:    ['/mysite', '/usr/local/lib/python2.6/dist-packages/flup-1.0.2-py2.6.egg', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/local/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages', '/usr/lib/pymodules/python2.6']
    Server time:    Sun, 2 …
Run Code Online (Sandbox Code Playgroud)

python django

266
推荐指数
8
解决办法
16万
查看次数

如何使用Django清除cookie

我正在尝试为网站开发登录页面.我正在使用Django 1.4.2.我使用了正确登录cookie的用户set_cookie.但我没有clear_cookie在Django的文档中找到.如何清除cookie以使用户注销?

python django cookies session-cookies web

17
推荐指数
2
解决办法
2万
查看次数

如何在Django中设置cookie然后渲染模板?

我想在视图中设置一个cookie,然后让该视图呈现一个模板.据我了解,这是设置cookie的方法:

def index(request):
    response = HttpResponse('blah')
    response.set_cookie('id', 1)
    return response
Run Code Online (Sandbox Code Playgroud)

但是,我想设置一个cookie,然后渲染一个模板,如下所示:

def index(request, template):
    response_obj = HttpResponse('blah')
    response_obj.set_cookie('id', 1)
    return render_to_response(template, response_obj)   # <= Doesn't work
Run Code Online (Sandbox Code Playgroud)

模板将包含链接,单击这些链接将执行其他视图,以检查我正在设置的cookie.我在上面第二个例子中展示的是什么?我知道我可以创建一个包含我的模板的所有HTML的字符串,并将该字符串作为参数传递给HttpResponse,但这看起来真的很难看.有没有更好的方法来做到这一点?谢谢.

django cookies django-views

17
推荐指数
3
解决办法
2万
查看次数

Django:有什么方法可以避免在每次请求时查询request.user吗?

对于我的网站,几乎每个页面都有一个标题栏显示"欢迎,ABC",其中"ABC"是用户名.这意味着request.user将为每一个请求调用,导致数据库一次又一次地命中.

但是一旦用户登录,我应该能够将他的user实例存储在他的cookie中并加密它.这样我可以避免重复访问数据库,而只是request.user从cookie中检索.

你会如何修改Django来做到这一点?是否有任何Django插件可以满足我的需求?

谢谢

django django-authentication django-sessions

9
推荐指数
2
解决办法
2093
查看次数

Django 在重定向()上设置标头

我正在尝试这里的答案中的方法。像这样的东西:

url = 'https://InternalURL'
token = 'api token here'
response = redirect(url)
response['Token'] = token
return response
Run Code Online (Sandbox Code Playgroud)

此代码位于单击模板中的链接时调用的视图中。执行一些操作来构建正确的 url 并在此代码之前获取 api 令牌。

如果我通过 Fiddler 检查请求,第一个具有 302 状态代码的重定向包含我设置的标头。但是随后尝试导航到我想要重定向到的实际 url 的请求,我需要的标头没有设置。

显然,这会导致请求失败,因为标头中不存在身份验证令牌。

我完全错过了一些明显的东西吗?有一个更好的方法吗?预先感谢您的任何帮助!

django redirect

5
推荐指数
1
解决办法
3195
查看次数