小编pat*_*ckn的帖子

Django"xxxxxx对象"在管理员操作侧栏中显示自定义

我想更改管理员最近更改边栏显示添加的"对象"名称的默认行为.请参考下图:

在最近的actions模块中,它还将新对象显示为

我想更改这些在管理员中的命名方式.理想情况下,我希望能够将其从"MyModelName对象"更改为"策略"对象示例中的"策略:{{策略的"策略名称"字段的值.}}.

我以为__unicode__我的病人模型处理了这个问题,但似乎没有.任何帮助表示赞赏.

django django-models django-admin

93
推荐指数
5
解决办法
5万
查看次数

Django访问ForeignKey模型对象

假设我有以下内容:

class Employee(models.Model):
    firstName = models.CharField(max_length = 30)
    lastName = models.CharField(max_length = 30)

class License(models.Model):
    employee = models.ForeignKey(Employee)
    type = models.CharField(max_length = 30)
Run Code Online (Sandbox Code Playgroud)

在自定义管理命令中,我将所有Employee对象拉入employees = Employee.objects.all()...如何为每个员工对象访问关联的License对象?我已经看到了有关使用ContentType的问题,但我对它的实际用途感到困惑.任何人都可以提供一个如何在此上下文中使用ContentType(或其他解决方案)的示例吗?

python django

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

使用Bottle(Python)的AJAX提交表单

我在使用Bottle框架进行AJAX通信时遇到了一些问题.这是我第一次使用AJAX,所以我可能只是错误的基础知识.希望瓶子/ AJAX大师可以指出这个新手正确的方向.这是我正在使用的代码:

#!/usr/bin/env python

from bottle import route, request, run, get


# Form constructor route

@route('/form')
def construct_form():
    return '''

<html>
<head>
<script type="text/javascript">

    function loadXMLDoc()
    {
        xmlhttp = new XMLHTTPRequest();
        xmlhttp.onReadyStateChange = function()
        {
            if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
            {
                document.getElementById("responseDiv").innerHTML = xmlhttp.responseText;
            }
        }

    xmlhttp.open("GET", "/ajax", true);
    xmlhttp.send();
    }   

</script>
</head>

<body>

    <form>
        <input name="username" type="text"/>
        <input type="button" value="Submit" onclick="loadXMLDoc()"/>
    </form>
    <div id="responseDiv">Change this text to what you type in the box above.</div>

</body>
</html> 

    ''' …
Run Code Online (Sandbox Code Playgroud)

python ajax bottle

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

在Redis中缓存可排序/可过滤的数据

我有一些我已经在标准Redis hashmap中缓存的数据,而且我遇到了需要响应客户端订购和过滤请求的情况.名称,平均评分和评论数量的订单排名可以定期更改(可能每分钟多次).任何人都可以建议我采取适当的策略来攻击这个问题吗?请考虑以下示例以帮助理解我正在寻找的内容:

  1. 客户端向/ api/v1/cookbooks发出API请求?orderBy = name&limit = 20&offset = 0
  2. 我应该回复前20个条目,按名称排序

到目前为止我考虑过的策略:

  • 对于每种类型的hashmap存储(cookbook,食谱等),从Postgres ORDER BY为每个排序方案(字母,平均评级等)创建排序集; 然后根据限制和偏移量拉出ZRANGE切片
  • 将排序数据直接存储到每个密钥的JSON字符串数据中.
  • 使用SELECT id FROM表ORDER BY _命中postgres ,并使用id直接从hashmap存储中提取

关于如何最好地解决这个问题的任何其他想法或建议?提前致谢.

sorting caching redis

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

Django注释的SQLAlchemy转换

我想将Django模型管理器中的以下注释转换为SQLAlchemy ORM查询:

annotations = {
        'review_count' : Count("cookbookreview", distinct=True), 
        'rating' : Avg("cookbookreview__rating")
    }
return self.model.objects.annotate(**annotations)
Run Code Online (Sandbox Code Playgroud)

我本质上需要的是在查询中有每个模型对象review_count,并rating连接到它们作为初始查询的一部分。我相信我可以使用column_property,但是我想避免在对象上使用这种类型的“计算属性”,因为当我访问模板中的属性时,我不希望为每个对象完成该属性(昂贵的查找)。

解决这个问题的正确方法是什么?提前致谢。

python django sqlalchemy

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

Django + Apache + mod_wsgi权限被拒绝

我在Django的网站上完成了关于使用mod_wsgi(这里)的教程,并且在适当的时候替换了我的路径,导致了很大的"权限被拒绝".当我尝试访问/.这是我添加的东西httpd.conf(mod_wsgi在conf文件的早期启用):

# Django configuration

WSGIScriptAlias / /usr/local/django/billing/apache/django.wsgi

<Directory /usr/local/django/billing/apache/django.wsgi>
Order allow,deny
Allow from all
</Directory>

AliasMatch ^/([^/]*\.css) /usr/local/wsgi/static/styles/$1

Alias /media/ /usr/local/django/billing/media/
Alias /static/ /usr/local/django/billing/static/

<Directory /usr/local/django/billing/static>
Order deny,allow
Allow from all
</Directory>

<Directory /usr/local/django/billing/media>
Order deny,allow
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

编辑#1:

我从头开始多次浏览幻灯片:仍然没有快乐.即使打开了脚本的路径,chmod'ing每个相关的目录是可读的,并chmod'ing .wsgi脚本,我仍然得到权限否认.如果我改变从目录路径/usr/local/django/billing/apache/django.wsgidjango.wsgi截断,服务器尽管是它是如何在幻灯片中配置返回配置错误.

apache django mod-wsgi

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

在Go中正确使用os.NewFile

我正在尝试在内存中编写一个图像,并通过http.ResponseWriter将其发送出去,而不会触及文件系统.

我使用以下命令创建一个新文件:

file := os.NewFile(0, "temp_destination.png")
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法对此文件做任何事情.这是我正在使用的函数(在http.HandleFunc中调用,它只是将文件的字节发送到浏览器),用于在临时文件上绘制蓝色矩形并将其编码为PNG:

func ComposeImage() ([]byte) {
    img := image.NewRGBA(image.Rect(0, 0, 640, 480))
    blue := color.RGBA{0, 0, 255, 255}
    draw.Draw(img, img.Bounds(), &image.Uniform{blue}, image.ZP, draw.Src)

    // in memory destination file, instead of going to the file sys
    file := os.NewFile(0, "temp_destination.png")

    // write the image to the destination io.Writer
    png.Encode(file, img)

    bytes, err := ioutil.ReadAll(file)
    if err != nil {
        log.Fatal("Couldn't read temporary file as bytes.")
    }

    return bytes
}
Run Code Online (Sandbox Code Playgroud)

如果我删除了png.Encode调用,只返回文件字节,服务器就会挂起并永远不做任何事情.

离开png.Encode调用导致文件字节(编码,包括我期望看到的一些PNG块)被呕吐到stderr/stdout(我无法分辨哪个)和服务器无限期挂起.

我假设我没有正确使用os.NewFile.谁能指出我正确的方向?关于如何正确执行内存中文件操作的替代建议是受欢迎的.

go

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

从概念的角度来看,Django Haystack document=True

所以,我试图围绕“ text = indexes.CharField(document=True, use_template=True)”的概念进行思考。从文档:

每个 SearchIndex 都要求有一个(并且只有一个)文档=True 的字段。这向 Haystack 和搜索引擎表明哪个字段是在其中进行搜索的主要字段。

既然我看到的每个例子似乎都把这个“扔进去”作为惯例,那么“ text = indexes.CharField(document=True, use_template=True)”究竟是如何描述任何东西的?

  1. 使用此约定时,引擎选择主要搜索模型中的哪个字段?

  2. model_attr=desired_model_attr这个text字段不应该总是有a ,所以引擎实际上可以知道哪个model_attr是搜索的主要字段?

django django-haystack

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

使用错误枚举变体时“无法推断‘T’的类型”

我有以下片段:

 pub fn init(&mut self, opts: InitOptions) -> Result<(), PostalError> {
    let _ = self.mutex.lock();
    unsafe {
        if !libpostal_setup() {
            Err(PostalError::LibpostalSetup);
        }
    }
    self.setup_done = true;
    if opts.expand_address {
        unsafe {
            if !libpostal_setup_language_classifier() {
                Err(PostalError::LibpostalEnableExpansion);
            }
        }
        self.expand_address_enabled = true;
    }
    Ok(())
}
Run Code Online (Sandbox Code Playgroud)

编译时会产生此错误:

 pub fn init(&mut self, opts: InitOptions) -> Result<(), PostalError> {
    let _ = self.mutex.lock();
    unsafe {
        if !libpostal_setup() {
            Err(PostalError::LibpostalSetup);
        }
    }
    self.setup_done = true;
    if opts.expand_address {
        unsafe {
            if !libpostal_setup_language_classifier() {
                Err(PostalError::LibpostalEnableExpansion);
            }
        } …
Run Code Online (Sandbox Code Playgroud)

rust

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