小编Sae*_*aeX的帖子

使用动态form_class的Updateview

我想动态改变form_class一个的UpdateViewCBV在Django 1.6.

我试图使用get_context_data()来做这件事,但由于表单已经初始化,这没有用.所以它需要发生在__init__我猜中.这是我尝试过的__init__:

class UpdatePersonView(generic.UpdateView):

    model = Person
    form_class = ""

    def __init__(self, *args, **kwargs):
        super(UpdatePersonView, self).__init__(*args, **kwargs)
        person = Person.objects.get(id=self.get_object().id)
        if not person.somefield:
            self.form_class = OneFormClass
        elif person.somefield:
            self.form_class = SomeOtherFormClass
Run Code Online (Sandbox Code Playgroud)

'UpdatePersonView' object has no attribute 'kwargs'执行时我遇到了错误信息person = Person.objects.get(id=self.get_object().id).

手动指定id(例如id=9)时,设置有效.

如何在我覆盖的init方法中获取args/kwargs ?特别是我需要访问pk.

python django django-views

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

Django CONN_MAX_AGE设置错误

我正unsupported operand type(s) for +: 'float' and 'str'试图CONN_MAX_AGE在Django 1.6中设置.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2', 
        'NAME': 'myDB',
        'USER': 'myuser',
        'PASSWORD': 'mypass',
        'HOST': '',
        'CONN_MAX_AGE': '60',  # seconds for persistent connection, since Django 1.6
        'PORT': '5432',
    }
}
Run Code Online (Sandbox Code Playgroud)

python django

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

Django-easy-pdf:xhtml2pdf报告reportlab 2.2+是必需的,但安装了3.0

我想尝试django-easy-pdf一下,但是我在安装依赖项时遇到了问题.

ImportError: No module named xhtml2pdf.default在运行Django时得到了.

为了尝试修复,我做了一个pip install xhtml2pdf,但是产生了Could not find any downloads that satisfy the requirement pyPdf (from xhtml2pdf).

所以,让我们pip install --allow-unverified pyPdf pyPdf来解决这个问题.这完成没有问题.重复时pip install xhtml2pdf,软件安装没有问题.

但是,当启动Django 1.6时,我得到:ImportError: Reportlab Version 2.1+ is needed!.

我确实安装了reportlab 2.2或更高版本,因为pip freeze列表3.0.

它看起来像是在几个文件(util.py__init__.py)中硬编码:

if not (reportlab.Version[0] == "2" and reportlab.Version[2] >= "1"):
    raise ImportError("Reportlab Version 2.1+ is needed!")

if not REPORTLAB22:
    raise ImportError, "Reportlab Toolkit …
Run Code Online (Sandbox Code Playgroud)

python django reportlab xhtml2pdf

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

当日期是链接时,使用 moment.js 对日期进行排序不起作用

我正在使用数据表 1.10.5。当我尝试使用推荐的moment.js(根据http://datatables.net/blog/2014-12-18)对日期进行排序时,认为工作正常:

http://jsfiddle.net/9gohzd9t/1/

但是,当我a href向该日期添加链接 ( ) 时,它会根据链接而不是日期进行排序:

http://jsfiddle.net/dnsL2oc4/1/

关于如何在没有太多黑客攻击的情况下正确解决此问题的任何想法?

datatables momentjs

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

如果前一个AJAX调用完成,则仅执行下一个AJAX调用

我正在通过AJAX调用在后台生成PDF.生成PDF需要一些时间(大约一秒左右).

下面的工作正常,但问题是我的内存不足.因此,当前一次AJAX调用完成时,我只想开始计算(即只发出AJAX调用).

我玩过async: false但是会冻结我的页面,这是不受欢迎的行为(并且async无论如何都会弃用).

我的代码:

$("div[data-myid]").each(function(){

    var myid= $(this).data('myid');
    var my_div = $(this);

    $.ajax({
        url: "/my_ajax/" + myid + "/",
    }).done(function (data) {
        my_div.html(data.message + ' <a href="' + data.url +  '">Download</a>');
    });

});
Run Code Online (Sandbox Code Playgroud)

HTML:

<table>
    <tr>
        <td><div id="div_260" data-myid="260">Queued..</div></td>
    </tr>
    <tr>
        <td><div id="div_259" data-myid="259">Queued..</div></td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

请注意,该表是动态生成的,通常包含100多行.

关于如何最好地接近这个的任何想法?

ajax jquery

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

TypeError:|:'bool'和'Q'不支持的操作数类型

我正在运行Django 1.7,并且TypeError: unsupported operand type(s) for |: 'bool' and 'Q'在尝试执行以下操作时遇到问题:

class PersonList(generic.ListView):
    template_name = "persons/list.html"
    model = Person
    queryset = Person.objects.filter(Q(field1__isnull=True | Q(field2__isnull=True)))
Run Code Online (Sandbox Code Playgroud)

django django-q

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