我想动态改变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.
我正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) 我想尝试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) 我正在使用数据表 1.10.5。当我尝试使用推荐的moment.js(根据http://datatables.net/blog/2014-12-18)对日期进行排序时,认为工作正常:
http://jsfiddle.net/9gohzd9t/1/
但是,当我a href向该日期添加链接 ( ) 时,它会根据链接而不是日期进行排序:
http://jsfiddle.net/dnsL2oc4/1/
关于如何在没有太多黑客攻击的情况下正确解决此问题的任何想法?
我正在通过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多行.
关于如何最好地接近这个的任何想法?
我正在运行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 ×4
python ×3
ajax ×1
datatables ×1
django-q ×1
django-views ×1
jquery ×1
momentjs ×1
reportlab ×1
xhtml2pdf ×1