给定以下HTML结构:
<div class="wrapper">
<div class="top">
<a href="http://example.com" class="link">click here</a>
</div>
<div class="middle">
some text
</div>
<div class="bottom">
<form>
<input type="text" class="post">
<input type="submit">
</form>
</div>
<div>
Run Code Online (Sandbox Code Playgroud)
这将在页面上重复多次,.bottom当用户点击.topdiv中的链接时,如何将焦点设置在div中的输入字段?
我目前.bottom使用下面的JQuery代码使div成功点击,但似乎无法弄清楚如何同时在输入字段上设置焦点.
$('.link').click(function() {
$(this).parent().siblings('div.bottom').show();
});
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在运行Django调试工具栏来分析我的网站,并试图弄清楚为什么某些视图需要这么长时间.在查看我正在运行的查询以及他们花了多少钱,这是非常有价值的,但我无法理解如何阅读时间面板.
我到处寻找一些关于此的文档,但似乎找不到任何东西.我应该提一下,我是一个自学成才,相对较新的程序员,所以这些可能是有经验的程序员所熟悉的术语.
这是输出:
Resource Value
User CPU time 3760.000 msec
System CPU time 340.000 msec
Total CPU time 4100.000 msec
Elapsed time 4625.453 msec
Context switches 248 voluntary, 467 involuntary
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我弄清楚如何阅读这个,以及每个值代表什么?
谢谢.
我的Django应用程序中有以下(简化)模型:
class Color(models.Model):
name = models.CharField(max_length=10)
class Item(models.Model):
name = models.CharField(max_length=200)
color = models.ForeignKey(Color, blank=True, null=True)
class Favorite(models.Model):
user = models.ForeignKey(User)
item = models.ForeignKey(Item)
Run Code Online (Sandbox Code Playgroud)
我目前正在使用以下查询获取所需的所有项目:
favorites = Favorite.objects.filter(user=request.user)
Run Code Online (Sandbox Code Playgroud)
如何获得该项中所有不同颜色的颜色QuerySet?
我需要一个实际颜色对象的列表,而不仅仅是我可以使用的颜色ID
favorites.values_list('item__color').distinct
Run Code Online (Sandbox Code Playgroud) 在我的网站上,用户可以将文本(在本例中为url)粘贴到输入字段中.我想捕获使用jQuery粘贴的文本的值.我使用下面的代码在FF中工作,但它在IE中不起作用(我不认为IE支持"粘贴"事件).
任何人都知道如何在所有现代浏览器中使这项工作?我已经在SO上找到了其他一些答案,但大多数都只有FF,似乎没有一个提供完整的解决方案.
这是我到目前为止的代码:
$("input.url").live('paste', function(event) {
var _this = this;
// Short pause to wait for paste to complete
setTimeout( function() {
var text = $(_this).val();
$(".display").html(text);
}, 100);
});
Run Code Online (Sandbox Code Playgroud)
JSFiddle:http://jsfiddle.net/TZWsB/1/
我的html中有一堆嵌套在div标签中的按钮
<div class="button-wrapper">
<button class="button-class">Click here</button>
</div>
<div class="button-wrapper">
<button class="button-class">Click here</button>
</div>
...
Run Code Online (Sandbox Code Playgroud)
单击该按钮使用JQuery发布一些数据,并通过.ajax成功函数返回一些HTML.我正在尝试为每个单击的按钮替换div的内容,但由于某种原因,我的JQuery选择器似乎不起作用.
我在我的成功函数中尝试以下内容:
$(this).parent().html(data);
Run Code Online (Sandbox Code Playgroud)
我知道数据已成功发布,并且成功功能正在运行.奇怪的是,以下工作:
$(".button-wrapper").html(data);
Run Code Online (Sandbox Code Playgroud)
但显然这会将HTML添加到每个div中,而不仅仅是单击按钮的那个div.
有谁知道我在哪里可能会出错?
试着立即解决一个有趣的问题.
我有一个Django模型,其image字段不是必需的,但在创建新模型实例时设置为默认值.
class Product(models.Model):
image = models.ImageField(upload_to='/image/directory/', default='/default/image/path/', blank=True)
Run Code Online (Sandbox Code Playgroud)
我还有一个基于该模型的ModelForm,包括该image字段,并且有一些自定义验证.
class ProductForm(forms.ModelForm):
class Meta:
model = Product
fields = ('image',)
def clean_image(self):
image = self.cleaned_data.get('image', False)
if image:
# validate image
return None
Run Code Online (Sandbox Code Playgroud)
问题是,每个的文档,要求is_valid()对ModelForm除触发模型验证,形成验证,所以当用户提交雏型没有图像,我的自定义表单验证代码试图验证默认的模型图像,而不是仅仅无所事事因为它应该.
除非表单本身具有该image字段的值,否则如何使其不执行任何操作?
我的Django应用程序中有以下模型:
class Book(models.Model):
name = models.CharField(max_length=100)
keywords = models.ManyToManyField('Keyword')
class Keyword(models.Model)
name = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)
我已经保存了以下关键字:
science-fiction
fiction
history
science
astronomy
Run Code Online (Sandbox Code Playgroud)
在我的网站上,用户可以通过访问按关键字过滤书籍/keyword-slug/.keyword_slug变量传递给我的视图中的函数,该函数按关键字过滤Books,如下所示:
def get_books_by_keyword(keyword_slug):
books = Book.objects.all()
keywords = keyword_slug.split('-')
for k in keywords:
books = books.filter(keywords__name__icontains=k)
Run Code Online (Sandbox Code Playgroud)
这在大多数情况下都有效,但每当我使用包含在关键字表中出现多次的字符串的关键字(例如science-fiction和fiction)进行过滤时,我会在生成的QuerySet中多次出现相同的书.
我知道我可以添加distinct只返回独特的书籍,但我想知道为什么我会开始重复,并且真的想要了解为什么它的工作方式.由于我只调用filter()成功过滤的QuerySet,因此如何将重复的书添加到结果中?
我的Django应用程序中有以下模型:
class Group(models.model):
name=models.CharField(max_length=30)
users=Models.ManyToManyField(User)
Run Code Online (Sandbox Code Playgroud)
在我的模板中,我想显示每个组,以及每个组下面的按钮.如果用户已经在组中,我想显示"离开组"按钮,如果他们不在组中,我想显示"加入组"按钮.
确定当前登录用户是否在每个组中的最有效方法是什么?我宁愿不查询显示的每个组的数据库,如果我只是执行以下操作,它似乎会发生.
{% if user in group.users.all %}
Run Code Online (Sandbox Code Playgroud)
谢谢.
这可能更像是一个关于Python本身如何导入方法的问题,虽然我在表面层面上理解,但我并没有真正深入理解.
一个极其简化的例子可能会使事情更加清晰.在下面两个例子中,执行速度会有明显的差异吗?
例1
# views.py
from app_name.models import *
def add_item(request, name, category):
item = Item(name=name, category=category)
item.save()
return HttpResponseRedirect('/')
Run Code Online (Sandbox Code Playgroud)
例2
# views.py
from app_name.models import *
from app_name.items import add_new_item
def add_item(request, name, category):
item = add_new_item(request, name, category)
return HttpResponseRedirect('/')
# items.py
def add_new_item(request, name, category):
item = Item(name=name, category=category)
item.save()
return item
Run Code Online (Sandbox Code Playgroud)
我应该再次补充说,这是一个极其简化的例子,并不反映实际的现实世界决定.我只是想了解Python的工作原理,以及示例2是否会明显变慢,如果是这样,在什么情况下.
谢谢.
在Django中以时区感知的方式查询今天创建的对象(或过去特定天数的特定日期)的最有效方法是什么?
我知道有很多关于此的问题,但大多数答案没有包含时区意识,似乎没有任何明确的最近答案,大多数解决方案都会产生天真的日期时间警告:
RuntimeWarning:DateTimeField在时区支持处于活动状态时收到了一个天真的日期时间(2012-10-23 00:00:00).
我正在运行时区支持的Django 1.5,并且我正在使用pytz和UTC时区.
这是刷新部分网页的有效方法:
$("#content").load(location.href+" #content>*","");
Run Code Online (Sandbox Code Playgroud)
请注意,我不是在这里请求任何新数据,而是基本上重新加载div的内容作为.ajax成功函数的一部分.
这似乎比通过ajax函数请求数据并将其加载到页面更容易,但我想知道这个方法是否有任何缺点或问题.