如何在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) 使用jQuery我是以编程方式生成一堆div这样的:
<div class="mydivclass" id="myid1">Some Text1</div>
<div class="mydivclass" id="myid2">Some Text2</div>
Run Code Online (Sandbox Code Playgroud)
在我的代码中的其他地方,我需要检测这些DIV是否存在.div的类名相同,但每个div的ID都会更改.知道如何使用jQuery检测它们吗?
我正在为我的一个项目使用Django 1.3,我需要获取刚保存在数据库中的记录的ID.
我有类似下面的代码来保存数据库中的记录:
n = MyData.objects.create(record_title=title, record_content=content)
n.save()
Run Code Online (Sandbox Code Playgroud)
记录的ID刚刚保存了自动增量.有没有办法获取该ID并在我的代码中的其他地方使用它?
默认情况下,登录后django会将用户重定向到帐户/配置文件页面,或者如果您编辑LOGIN_REDIRECT_URL,则可以将用户发送到您在settings.py中指定的另一个页面.
这很棒,但我希望用户(登录后)被重定向到一个自定义页面,该页面的链接看起来像这样:mysite.com/username.因此,默认帐户/配置文件或LOGIN_REDIRECT_URL设置在这种情况下不起作用,因为两者都是静态的.就我而言username,每个用户的地址部分都会发生变化.
当用户登录时,我如何能够做到这一点的任何想法将转到自定义用户页面,该用户页面在地址中具有用户名称,如: mysite.com/username?任何输入都是真正的赞赏.
这就是我所拥有的:
myview.py带有参数的视图user:
def myview(request, user):
form = MyForm(request.POST)
....
return render_to_response('template.html',locals(), context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
在user得到通过URL通过.
urls.py:
...
urlpatterns += patterns('myview.views',
(r'^(?P<user>\w+)/', 'myview'),
)
...
Run Code Online (Sandbox Code Playgroud)
我也有template.html一个表格:
<form name="form" method="post" action=".">
...
</form>
Run Code Online (Sandbox Code Playgroud)
如果myview函数需要参数,那么表单动作参数会怎样?
现在我有action=".".我问的原因是因为当我填写表单In(templates.html)并单击提交按钮时,我看到绝对没有从该表单传递的字段值.这几乎就像我点击提交按钮时传递一个空表格.有任何想法吗?谢谢!
从管理员我看到您可以为用户或用户组分配权限,以允许:允许添加,更改或删除模型中的数据.
这很好,但我还需要允许用户或用户组访问或不访问一组视图.我在我的网站上有某种类型的服务,所以我想让一些用户访问某些服务(页面/视图)而不是其他用户.
那么如何允许某些用户/用户组访问某些视图?谢谢!
python django django-authentication django-permissions django-login
我有一个表单,由于某种原因,它不会抛出任何错误(如果用户在文本字段中添加数据)但form.is_valid()不验证.有任何想法吗?
forms.py:
class MyForm(forms.Form):
title = forms.CharField(widget=forms.TextInput(attrs={'class':'titleField'))
Run Code Online (Sandbox Code Playgroud)
mytemplate.html
<form action="" method="post" name="form">{% csrf_token %}
{{ form.title.errors }}
{{ form.title }}
<input type="submit" name='submit_button' value="Post" />
</form>
Run Code Online (Sandbox Code Playgroud)
views.py:
if 'submit_button' in request.POST:
form = MyForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
title = cd['title']
g = MyData(title='title')
g.save()
else:
form = MyForm()
Run Code Online (Sandbox Code Playgroud) 我在forms.py中有一个表单,如下所示:
from django import forms
class ItemList(forms.Form):
item_list = forms.ChoiceField()
Run Code Online (Sandbox Code Playgroud)
我需要使用数据库中的一些数据填充item_list.在HTML中生成时,item_list应该是这样的:
<select title="ItemList">
<option value="1">Select Item 1</option>
<option value="2">Select Item 2</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我的select语句中的选项值几乎每次都会更改,因为查询中的变量通常会更改生成新结果.
我需要在view.py中以及在我的模板文件中使用数据库中的值填充ItemList?
我在我的一个项目上使用django-taggit,我可以保存标签并将其与特定记录绑定.现在的问题是如何显示与每条记录相关的标签?
例如,在我的页面上,我想要显示包含标题和内容的记录,然后在其下面我想显示与该记录关联的标记.
views.py和mytemplate.html中有什么内容?真实的例子将是真正的赞赏.
我正在尝试按照以下说明安装PostGIS:
wget http://postgis.refractions.net/download/postgis-1.5.2.tar.gz
tar zxvf postgis-1.5.2.tar.gz && cd postgis-1.5.2/
sudo ./configure && make && sudo checkinstall --pkgname postgis-1.5.2 --pkgversion 1.5.2-src --default
Run Code Online (Sandbox Code Playgroud)
但它没有通过"sudo ./configure"命令.它说的最后一行:
configure: error: could not find pg_config within the current path. You may need to try re-running configure with a --with-pgconfig parameter.
Run Code Online (Sandbox Code Playgroud)
所以我在网上找到了一个地方,上面写着这样的话:
--with-pgconfig = FILE PostgreSQL提供了一个名为pg_config的实用程序,可以使PostGIS等扩展程序找到PostgreSQL安装目录.使用此参数(--with-pgconfig =/path/to/pg_config)手动指定PostGIS将构建的特定PostgreSQL安装.
我使用"whereis pg_config"搜索pg_config但我找不到它.它是指"/etc/postgresql/9.0/main/pg_hba.conf"文件还是文件夹....?我错过了什么吗?我在这一点上真的很困惑.我想真正的混乱比虚假清晰:).
我正在使用PostgreSQL 9/Ubuntu 10.10.任何帮助将不胜感激.
django ×8
django-views ×6
django-forms ×3
python ×2
django-login ×1
django-urls ×1
javascript ×1
jquery ×1
postgis ×1
postgresql ×1
ubuntu ×1
ubuntu-10.10 ×1