小编Ric*_*ich的帖子

具有可变列的Django查询过滤器

我正在尝试使用过滤查询集

info=members.filter(name__contains=search_string)
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我不知道用户想要提前搜索哪个字段所以我需要用变量替换'name',如

variable_column = 'name'
search_type = 'contains'
filter = variable_column + '__' + search_type
info=members.filter(filter=search_string)
Run Code Online (Sandbox Code Playgroud)

我怎么做?

丰富

django

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

如何从JQuery getJSON回调中获取数据

我需要从回调函数中获取JSON对象数据,以便我可以在页面中稍后处理它,而不是像我现在那样在回调中处理它.对其他人来说一定是显而易见的,因为我看不到任何关于它的文章.谁能告诉我怎么做?

这是我的代码:

<script type="text/javascript" src="/site_media/js/jstree/_lib/jquery.js"></script>  
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
    function initialize() {
        var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
        var myOptions = {
            zoom: 4,
            center: myLatlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
        }
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        return map;
    }

    function add_marker(map, lat, long) {
        var marker_image='/site_media/images/map_marker.png';
        var myLatlng = new google.maps.LatLng(lat,long);
        title='title';
        var marker = new google.maps.Marker({
            position: myLatlng, 
            map: map, 
            title:title,
            icon:marker_image
        }); 
        //map.panTo(myLatlng);
    }

    //window.onload=initialize();
    setTimeout('map=initialize();',2000);

    $.getJSON("/ajax/get", function(data) {
        $.each(data, function(i,val) {
            latitude = val.fields.latitude;
            longitude = val.fields.longitude;
             add_marker(map, latitude, …
Run Code Online (Sandbox Code Playgroud)

ajax jquery json

7
推荐指数
1
解决办法
1万
查看次数

python异常处理

我正在开发一个Django站点,并且一直在努力找出处理异常处理的最佳方法.我一直在做

try:
    Some code
except:
    log error in my own words, i.e 'Some code' failed to execute
    Some other code
Run Code Online (Sandbox Code Playgroud)

这可以捕获所有异常,从而确保我的网站不会传递500个错误等.但是,由于我的知识有限,我正在失去实际的异常,这使得调试变得非常痛苦.如何打印出现的错误?目前我注释掉了try:catch:并查看错误并修复它.肯定有更好的办法!

提前致谢

丰富

python

7
推荐指数
3
解决办法
9016
查看次数

Django ModelForm

我正在尝试使用ModelForm创建一个简单的CRUD.它工作正常,但每次编辑时,保存都会创建一个新的数据实例.所以我编辑并在DB中获得额外的行而不是更新的行.我不知道如何保存现有的慈善机构因为它没有将PK(id)存储为表单中的隐藏字段.这就是我在尝试使用'神话般'的ModelForm之前总是这样做的!

这让我疯了,我已经阅读了所有内容,据我所知,我做的一切都是正确的.

这是我的代码..

模型:

from django.db import models
from django.conf import settings

COUNTRY_CHOICES = settings.COUNTRIES

class Charities(models.Model):
    charity_name            = models.CharField(max_length=100)
    country                 = models.CharField(max_length=4, choices=COUNTRY_CHOICES)
    registration_number     = models.CharField(max_length=100)
    address1                = models.CharField(max_length=100)
    address2                = models.CharField(max_length=100)
    city                    = models.CharField(max_length=30)
    zip                     = models.CharField(max_length=10)
    phone                   = models.CharField(max_length=20)
    email                   = models.EmailField()
    charity_logo_image      = models.CharField(max_length=100)
    charity_banner_image    = models.CharField(max_length=100)
    charity_accepted        = models.IntegerField()

    def __str__(self):
       return self.charity_name

    def __unicode__(self):
        self.charity_name
Run Code Online (Sandbox Code Playgroud)

视图:

def list(request):
    charities = Charities.objects.all()
    return render_to_response('charities_charity_list.html', {'charities': charities})

def add(request):
    return add_or_edit(request)

def edit(request, charity_id):
    return add_or_edit(request, …
Run Code Online (Sandbox Code Playgroud)

django django-models django-forms

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

Django 1.2中是否还需要{%csrf_token%} CSRF保护标记?

我在我的网站上测试CSRF保护,我注意到了一些意想不到的事情.

{% csrf_token %}从表单中删除了,提交仍然有效.我无法理解为什么.然后我查看了源代码并意识到令牌仍然存在于<form>元素旁边.我更改了表单的ID以确保它确实更新了源代码,但是隐藏的输入仍然存在.

我正在使用Django 1.2.是否{% csrf_token %}仍有必要?

干杯

丰富

django csrf

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

Django数据分片

我已经使用基于模型的路由方案成功地使我的应用程序在多个数据库上运行.即模型A存在于DB A上,模型B存在于DB B上.我现在需要对数据进行分片.我正在查看文档并且无法解决如何执行此操作,因为同一模型需要存在于多个数据库服务器上.我想要一个标志,说新成员的数据库现在是数据库X,成员XY存在于数据库N等.

我怎么做?它是否使用**提示,这似乎没有充分记录给我.

django

5
推荐指数
2
解决办法
1700
查看次数

Django - 检测会话的开始和结束

我希望有人可以帮助我.

我正在尝试在我的网站主页上实现一个"在线用户数"计数器.我记得在ASP过去的糟糕时期,我曾经能够通过session.onstart和session.onend保持计数器.

我如何在Django中做到这一点?

干杯

丰富

django

4
推荐指数
2
解决办法
5680
查看次数

ios上的Phonegap联系排序顺序

有谁知道如何对phonegap从iOS解放到javascript的联系人数据进行排序.此刻的顺序与字母排序无关.我想按姓氏排序.

这是我的联系代码:

function init_contacts() {
     var fields = [ "name","phoneNumbers"];
     navigator.service.contacts.find(fields, contactSuccess, contactError, '');
}
function contactSuccess(contacts) {
    for (n = 0; n < contacts.length; n++) {
        if (contacts[n].phoneNumbers) {
            for (m = 0; m < contacts[n].phoneNumbers.length; m++) {
                addToMyContacts(contacts[n].name.formatted, contacts[n].phoneNumbers[m].value);
                console.log('Found ' + contacts[n].name.formatted + ' ' + contacts[n].phoneNumbers[m].value);
            }
        }
}
$("#my_contacts").listview("refresh"); 
};

function contactError() {
    navigator.notification.alerter('contactError!');
};
Run Code Online (Sandbox Code Playgroud)

ios cordova

2
推荐指数
1
解决办法
3186
查看次数

适用于EBS快照的AWS CLI

我正在尝试让AWS CLI备份我的EC2实例.我不明白为什么AWS不容易通过控制台安排这个,但他们不这样做我正在推进CLI.

我安装在我的一个实例上.问题1,除非我设置NAT实例,否则它将无法工作,因为我的实例没有公共IP.试图避免这种情况,因此我在具有公共IP的不同ISP上使用了服务器.我使用aws configure设置凭据和配置文件.我在.aws目录中有配置和凭证文件.一切都应该有效.我尝试:

aws ec2 describe-instances --profile tmpevaluate

Could not connect to the endpoint URL: "https://ec2.us-west-2b.amazonaws.com/"
Run Code Online (Sandbox Code Playgroud)

我试过了

nslookup ec2.us-west-2b.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

但它没有解决.很奇怪,因为它解决了我的Mac和DNS正在服务器上我正在尝试它,因为它可以解决我能想到的任何其他域.所以要调试我在Mac上安装和配置的AWS CLI.我知道它可以解决ec2.us-west-2b.amazonaws.com.所以我尝试过:

aws ec2 describe-instances --profile tmpevaluate
Run Code Online (Sandbox Code Playgroud)

得到:

HTTPSConnectionPool(host='ec2.us-west-2b.amazonaws.com', port=443): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<botocore.awsrequest.AWSHTTPSConnection object at 0x10c0ac6d0>, 'Connection to ec2.us-west-2b.amazonaws.com timed out. (connect timeout=60)'))
Run Code Online (Sandbox Code Playgroud)

我很茫然.应该如此简单的东西让我完全难过,似乎没有其他人遇到同样的问题.

想法?

amazon-ec2 amazon-web-services aws-cli

2
推荐指数
1
解决办法
1700
查看次数

django request.POST字段名称替换

我正在使用ajax将数据发送到django视图,数据通过request.POST进入.我发布了需要更新的模型字段以及模型值.我只需要知道如何使用我从request.POST ['field_name']中提取的字段名称变量,这样我就可以在模型中设置字段了.这是我的代码.

field_name = request.POST["field_name"]
field_value = request.POST["field_value"]

member_id = get_member_session(request).id
try:
    member = Members.objects.get(id=member_id)
except:
    status="ERROR-USER-DOES-NOT-EXIST"
    return json_status(status)

try:
    member.field_name=field_value
    member.save()
    return json_status('OK')
except:
    status = "USER_SAVE_ERROR"
    return json_status(status)
Run Code Online (Sandbox Code Playgroud)

member.field_name显然不对.我需要使用eval(field_name)或类似的东西吗?如果可能的话,我不愿意.

非常感谢

丰富

django

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