我有一个带有img的h4就像这样.我将点击功能绑定到h4.这很好用.但是我无法在其中选择img.我想选择img以便用.attr("src")重放src attr.replace("up","down"); .
<h4 class="collapsable_head">
<img id="up_down" class="icon" src="/crm/img/modifier_down.gif" alt="link"/>
<b>Classification Filter:</b>
</h4>
Run Code Online (Sandbox Code Playgroud)
javascript:
$(".collapsable_head").click(function(){
$(this).next(".collapsable_body").slideToggle(500)
//None of the next lines return me the img object
src = jQuery(this).children('img').attr("src");
print(src);
src = $(this).next("#up_down").attr("src");
print(src);
src = $(this).next("#up_down").attr("src");
print(src);
return false;
});
Run Code Online (Sandbox Code Playgroud)
我想使用关键字"this",因为我有更多(".collapsable_head")在那里;-)
如何设置表格的左侧位置?
response = HttpResponse(mimetype='application/pdf')
response['Content-Disposition'] = 'attachment; filename=%s' % pdf_name
buffer = StringIO()
PAGESIZE = pagesizes.portrait(pagesizes.A4)
doc = SimpleDocTemplate(buffer, pagesize=PAGESIZE, leftMargin=1*cm)
story = []
story.append(Paragraph(header_part2, styleN))
table_row = ['Total Score:','']
data.append(table_row)
ts = [
#header style
('LINEABOVE', (0,0), (-1,0), 1, colors.gray),
('LINEBELOW', (0,0), (-1,0), 1, colors.gray)]
t = Table(data, (6*cm,6*cm), None, style=ts)
story.append(t)
doc.build(story)
pdf = buffer.getvalue()
buffer.close()
response.write(pdf)
Run Code Online (Sandbox Code Playgroud)
虽然段落打印在距离左侧一厘米处,但打印的表格与左页边框几乎没有距离.
我在哪里为表位置设置leftMargin?
这同样适用于我添加的图像.他们似乎在某处打印.
story.append(Image(path,35,10))
Run Code Online (Sandbox Code Playgroud) 我正在使用setup.py安装包:
python setup.py install
Run Code Online (Sandbox Code Playgroud)
我__init__.py正在安装的软件包中包含一些软件包级别检查,其中一个检查属性是否可用settings.py.由于它是可再settings.py发行的软件包,因此不能通过软件包提供,但用户必须注意在项目范围的settings.py中正确设置这些设置.
from django.core.exceptions import ImproperlyConfigured
from django.conf import settings
#check if settings are properly set
if not hasattr(settings, 'PACKAGE_SPECIFIC_SETTING'):
raise ImproperlyConfigured('Please add the PACKAGE_SPECIFIC_SETTING setting to your settings.py')
Run Code Online (Sandbox Code Playgroud)
现在我想知道为什么这个调用会setup.py install运行我的__init__.py(并且崩溃,因为它不是很令人惊讶,没有找到任何设置.)
我原以为setup.py只复制我的包而不运行任何代码.每当使用我的包的另一个应用程序将我的包导入他的代码时,应该运行代码.
编辑:按要求包含setup.py
#!/usr/bin/env python
# vim: ai ts=4 sts=4 et sw=4 coding=utf-8
from distutils.core import setup
setup(
name='django-simple-lock',
version=__import__('lock').__version__,
license = 'GNU Lesser General Public License (LGPL), Version 3',
requires = ['python (>= 2.5)', …Run Code Online (Sandbox Code Playgroud) 在我的Django项目中,我使用Celery(docs),Django-Celery和RabbitMQ作为代理运行一些异步任务.虽然它一般工作,我的设置有两个问题:
a)任务执行似乎与我的请求线程相关联.因此,用户http请求似乎要等到任务执行完毕
b)任务执行似乎忽略了倒计时标志
出于测试目的,我设置了一个简单的TestTask:
from celery.task import Task
from celery.registry import tasks
#in project_management.tasks.py
class TestTask(Task):
def run(self, x, y):
print "running TestTask"
return x + y
tasks.register(TestTask)
Run Code Online (Sandbox Code Playgroud)
从控制台中运行此任务会给我以下结果:
python manage.py shell
from project_management.tasks import TestTask
result = TestTask.apply_async(args=[5, 5], kwargs={}, countdown=10)#immediately outputs "running TestTask"
result.result -> immediately returns 10
result.ready() -> immediately returns True
Run Code Online (Sandbox Code Playgroud)
因此,完全忽略设置为10的倒计时标志.知道我的设置有什么问题吗?
我用以下命令启动Celery和RabbitMQ:
RABBITMQ_NODE_PORT=5672 rabbitmq-server
python manage.py celeryd --loglevel=info
Run Code Online (Sandbox Code Playgroud)
更新:
我认为这个问题在某种程度上与时区设置有关.有关详细信息,请参阅此主题.无论如何不确定如何规避它.我执行了这些测试,总是得到相同的结果,结果立即可用:
>>> from project_management.tasks import add …Run Code Online (Sandbox Code Playgroud) 如果我有单元格和行号,如何使用SlickGrid将焦点(或至少突出显示)设置到特定单元格?
后面的用例是我有一个网格,每次用户更改单元格中的内容时都会创建一个ajax调用.理想情况下,用户不应该认识到数据已经发送到服务器.对于无法在服务器上保存数据的情况,客户端会通过回调获得通知,并且我希望将焦点设置为无法保存值的单元格.
我正在使用以下代码从django应用程序中的登录安全视图提供上传文件.
您认为此代码中存在安全漏洞吗?我有点担心用户可以在上传后将任意字符串放在url中,并且这会直接映射到本地文件系统.
实际上我不认为这是一个漏洞问题,因为对文件系统的访问仅限于使用UPLOAD_LOCATION设置定义的文件夹中的文件.
UPLOAD_LOCATION = is set to a not publicly available folder on the webserver
url(r'^upload/(?P<file_url>[/,.,\s,_,\-,\w]+)', 'project_name.views.serve_upload_files', name='project_detail'),
@login_required
def serve_upload_files(request, file_url):
import os.path
import mimetypes
mimetypes.init()
try:
file_path = settings.UPLOAD_LOCATION + '/' + file_url
fsock = open(file_path,"r")
file_name = os.path.basename(file_path)
file_size = os.path.getsize(file_path)
print "file size is: " + str(file_size)
mime_type_guess = mimetypes.guess_type(file_name)
if mime_type_guess is not None:
response = HttpResponse(fsock, mimetype=mime_type_guess[0])
response['Content-Disposition'] = 'attachment; filename=' + file_name
#response.write(file)
except IOError:
response = HttpResponseNotFound()
return response
Run Code Online (Sandbox Code Playgroud)
编辑:根据Ignacio Vazquez-Abrams评论更新了来源: …
我有一个地址模型,它有一个联系人模型的外键:
class Address(models.Model):
street = models.CharField(max_length=25)
postal_code = models.CharField(max_length=25)
city = models.CharField(max_length=50)
country = models.CharField(max_length=50)
contact = models.ForeignKey(Contact, related_name='address to contact')
class Contact(models.Model):
salutation = models.CharField(max_length=1, choices=salutation_choices, verbose_name="salutation")
title = models.ForeignKey(Title, blank=True, null=True)
...
Run Code Online (Sandbox Code Playgroud)
现在我想根据地址对象的数据过滤我的联系人对象。因此,我想创建一个跨越关系的过滤器,遵循文档的这一部分:
我是这样试的:
result_set = Contact.objects.filter(address__street__contains='mystreet')
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
Cannot resolve keyword 'address' into field. Choices are: address to contact, birthdate..
Run Code Online (Sandbox Code Playgroud)
实际上错误消息告诉我有一个字段地址要联系,但问题是我如何引用它?
我想从dataEvents事件中检索用户输入的值.我想只允许数字0-24,如果用户插入一个像4,5(德语写作)的数字,我想用"."替换",".因此将"4,5"转换为"4.5".
但我正在努力获取用户输入的数据.我正在使用的方法总是返回空白.
colModel:[
{name:'sum',index:'sum', width:45, editable: true, sortable:false,
editoptions: { dataEvents: [
{
type: 'keypress', // keydown
fn: function(e) {
// console.log('keypress');
var v=$(e.target).text();
alert(v); // v is empty.
//reset the target value, actually I want to replace
// enter code here a comma with a point
// only allow the numbers 0 - 24
}
}
]
}
},
],
Run Code Online (Sandbox Code Playgroud)