小编lui*_*stm的帖子

Django多表继承,如何知道哪个是模型的子类?

我在django中遇到多表继承问题.

让我们以银行账户为例.

class account(models.Model):
    name = models……

class accounttypeA(account):
    balance = models.float…..

    def addToBalance(self, value):
        self.balance += value

class accounttypeB(account):
    balance = models.int…. # NOTE this

    def addToBalance(self, value):
        value = do_some_thing_with_value(value) # NOTE this
        self.balance += value
Run Code Online (Sandbox Code Playgroud)

现在,我想为帐户类型添加一个值,但我拥有的只是一个帐户对象,例如acc = account.object.get(pk = 29).那么,谁是acc的孩子?

Django会自动在accounttypeA和accounttypeB中创建account_ptr_id字段.所以,我的解决方案是:

child_class_list = ['accounttypeA', 'accounttypeB']

for cl in child_class_list:
    try:
        exec(“child = ” + str(cl) + “.objects.select_for_update().get(account_ptr_id=” +              str(acc.id) + “)”)
        logger.debug(“Child found and ready to use.”)
        return child
    except ObjectDoesNotExist:
        logger.debug(“Object does not exist, moving on…”) …
Run Code Online (Sandbox Code Playgroud)

python django inheritance subclass

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

无法在Django设置文件中获取环境变量

我正在尝试在Django设置中读取一些环境变量,我在/home/user/.bashrc中定义了(后者在/etc/bash.bashrc中),但我得到的只是一个KeyError异常.我知道我的环境变量已设置,因为我可以在终端中打印它们(echo $ VAR_NAME).这应该是微不足道的.

这是我正在使用的代码.

from django.core.exceptions import ImproperlyConfigured

msg = "Set the %s environment variable"


def get_env_variable(var_name):
    try:
        return os.environ[var_name]
    except KeyError:
        error_msg = msg % var_name
        raise ImproperlyConfigured(error_msg)

OS_DB_USER = get_env_variable('MY_USER')
OS_DB_PASS = get_env_variable('MY_PASS')
OS_DB_DB = get_env_variable('MY_DB')
OS_GAME_LOGS = get_env_variable('DIR_LOGS')
Run Code Online (Sandbox Code Playgroud)

我只是找不到遗漏的东西.有什么建议吗?

谢谢

编辑:使用mod_wsgi在Apache上运行.

python linux django environment-variables django-settings

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

Django替代实时Web应用程序

我去年一直在用Django开发一个Web服务器应用程序.堆栈是Django + Apache + MySql.这个堆栈非常适合我们的需求.最近需要一些实时功能,并有机会在服务器应用程序中更改/重写很多东西.令我惊讶的是,Django不是这里最好的选择.

我一直在阅读很多(推,websockets,gunicorn ......很多东西...... http://curella.org/blog/django-push-using-server-sent-events-and-websocket/)但是我尚未管理,决定我是否使用Django,或者我是否应该使用更适合这项工作的新软件堆栈.与Django一起走似乎有点不自然.任何经验丰富的开发人员能指出我正确的方向吗?

因此,基本的问题是:当前的软件堆栈有哪些替代方案可用于构建实时Web应用程序?

谢谢

PS:不是母语为英语的人.:)

编辑:替代方案需要允许安全连接.

编辑2:我们开发的Web应用程序是游戏.

python django web-applications real-time

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

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

node.js上的未定义符号

我正在尝试创建一些node.js插件.在插件内部,我有一个静态库的调用.一切都编译好,但是当我从javascript调用我的插件函数时,我得到以下内容:

module.js:356
  Module._extensions[extension](this, filename);
                           ^
Error: /home/.../Projects/NodeAddonComLibTest/build/Debug/addon.node: undefined symbol: _Z6ctest1Pi
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/home/.../Projects/NodeAddonComLibTest/doTest.js:1:75)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
Run Code Online (Sandbox Code Playgroud)

我的插件代码如下:

#include <iostream>
#include <string.h>
#include <stdlib.h>

#include <node.h>
#include <v8.h>

using namespace v8;
using namespace std;

void ctest1(int *);

Handle<Value> setPort(const Arguments& args){
HandleScope scope;

if (args.Length() != 1) {
    ThrowException(Exception::TypeError(String::New("Wrong number of arguments.")));
    return scope.Close(Undefined());
}

// ========================= …
Run Code Online (Sandbox Code Playgroud)

add-on static-libraries node.js embedded-v8

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

Celery任务不会通过记录器重要消息向管理员发送电子邮件

每次调用logger.critical,我的celery任务都不会向应用程序管理员发送电子邮件。

我正在构建Django应用程序。我项目的当前配置允许每次创建logger.critical消息时,应用程序的管理员都可以接收电子邮件。设置起来非常简单,我只是遵循了两个项目(celery和Django)的文档。出于某种原因(我不确定),在celery任务中运行的代码没有相同的行为,它不会在每次创建logger.critical消息时向应用程序管理员发送电子邮件。

芹菜实际上是否允许这样做?我是否缺少某些配置?有谁遇到这个问题并能够解决?

使用方法:

  • Django 1.11
  • 芹菜4.3

谢谢你的帮助。

python django celery

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

如何在jmeter中解码base 64格式?

有谁知道在 JMeter 中解码 Base 64 格式字符串的解决方案?

我必须解码响应,但我不想重新发明轮子......

我必须自己编写代码吗(希望不是)?

谢谢

base64 decode jmeter jmeter-plugins

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

无法使用 Go 连接到 FTP 服务器,但可以使用 FileZilla 连接

我有一个小型 Golang 程序,我正在尝试连接到在 docker 容器中运行的 FTP 服务器(https://registry.hub.docker.com/r/atmoz/sftp)。

我的机器是 M1 Pro MacBook。

使用以下命令启动容器: docker run -p 22:22 -d atmoz/sftp foo:pass:::upload

Go 版本是 1.17.13。

程序的代码代码如下:

package main

import (
    "log"
    "time"

    "github.com/jlaffaye/ftp"
)

func main() {
    c, err := ftp.Dial("localhost:22", ftp.DialWithTimeout(5*time.Second))
    if err != nil {
        log.Fatal(err, " cannot connect")
    }

    err = c.Login("foo", "pass")
    if err != nil {
        log.Fatal(err, "cannot login")
    }

    // Do something with the FTP conn

    if err := c.Quit(); err != nil {
        log.Fatal(err) …
Run Code Online (Sandbox Code Playgroud)

ftp go docker

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