我有一个模特:
class A(models.Model):
number = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
但是当我调用A.save()时,我想确保该数字是素数(或其他条件),或者应该取消保存指令.
那么如何取消pre_save信号接收器中的保存指令呢?
@receiver(pre_save, sender=A)
def save_only_for_prime_number(sender, instance, *args, **kwargs):
# how can I cancel the save here?
Run Code Online (Sandbox Code Playgroud) 我现在正在ubuntu 15.10上使用Python
但在我的操作系统中,我安装了许多不同的python版本:
所以,我对他们的包环境版本感到很乱,例如,如果我运行:
pip3 install django
Run Code Online (Sandbox Code Playgroud)
实际上我不能在里面导入django python3.5.
有没有有效的方法来调用相关版本pip?
PS:不建议我使用virtualenv,我知道它并正在寻求另一种解决方案.
使用jQuery,我们可以模拟提交表单:
<form id="form1" method="post">
<input name="key1" value="value1" />
<input name="key2" value="value2" />
</form>
Run Code Online (Sandbox Code Playgroud)
使用AJAX函数调用:
$.post('', { key1: 'value1', key2: 'value2' }, function() {
// do call back
});
Run Code Online (Sandbox Code Playgroud)
如果我们使用 jquery.form.js
$('#form1').ajaxSubmit({
success: function() {
// do call back
}
});
Run Code Online (Sandbox Code Playgroud)
我没有标记中的表单,我想使用"POST"方法提交包含一些动态内容的表单.
我想进行一个函数调用来模拟程序,可能是这样的:
utils.post('/url', {key1: 'value1', key2: 'value2'});
Run Code Online (Sandbox Code Playgroud)
在那次调用之后,效果与我上面的形式相同,我以自然的同步方式提交它.
有一个很好的方法来做到这一点?
如果问题不明确,我可以用一个丑陋的例子来解释我想要的东西:
util.post = function(url, fields) {
var $form = $('<form action="'+url+'" method="post"></form>');
var key, val;
for(key in fields) {
if(fields.hasOwnProperty(key)) {
val = fields[key];
$form.append('<input type="hidden" name="'+key+'" value="'+val+'" />');
} …Run Code Online (Sandbox Code Playgroud) 我想在我的django项目中使用sphinx编写文档,并使用我的django代码注释自动创建文档.
现在我有一个django(1.9)项目,文件结构如下:
myproject/
myproject/
__init__.py
settings.py
urls.py
wsgi.py
myapp/
migrations/
__init__.py
admin.py
models.py
tests.py
views.py
docs/
_build/
_static/
_templates/
conf.py
index.rst
Makefile
Run Code Online (Sandbox Code Playgroud)
然后,如您所见,我放置了一个docs包含Sphinx doc项目的文件夹.
现在我可以编辑*.rst文件了build html.
但是当我尝试autodoc内容时,它失败了.
以下是我的所作所为:
首先,我将这些添加到docs/conf.py,参考:https://stackoverflow.com/a/12969839/2544762:
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it …Run Code Online (Sandbox Code Playgroud) 现在我正在使用django 1.6
我有两个模型涉及一个OneToOneField.
class A(models.Model):
pass
class B(models.Model):
ref_a = models.OneToOneField(related_name='ref_b', null=True)
Run Code Online (Sandbox Code Playgroud)
首先看我指出问题的代码:
a1 = A.objects.create()
a2 = A.objects.create()
b1 = B.objects.create()
b2 = B.objects.create(ref_a=a2)
# then I call:
print(a1.ref_b) # DoesNotExist Exception raised
print(a2.ref_b) # returns b2
print(b1.ref_a) # returns None
print(b2.ref_a) # returns a2
Run Code Online (Sandbox Code Playgroud)
现在的问题是,如果我想检查一个A对象,判断它是否存在B引用它的对象.我能怎么做?
我尝试的有效方法只是尝试捕获异常,但还有其他更漂亮的方法吗?
我的努力:
1 - 以下代码有效,但太难看了!
b = None
try:
b = a.ref_b
except:
pass
Run Code Online (Sandbox Code Playgroud)
2 - 我也尝试检查a中的属性,但不工作:
b = a.ref_b if hasattr(a, 'ref_b') else None
Run Code Online (Sandbox Code Playgroud)
朋友们,你遇到同样的问题吗?请指点我,谢谢!
我刚刚在我的主题functions.php文件中添加了以下过滤器:
function change_the_title() {
return 'My modified title';
}
add_filter('wp_title', 'change_the_title');
Run Code Online (Sandbox Code Playgroud)
在我的header.php:
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta id="viewport" name="viewport" content="width=device-width">
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<?php wp_head(); ?>
</head>
<body <?php body_class();?>>
Run Code Online (Sandbox Code Playgroud)
然后,我发现我的网页没有标题不改变!并且标题标签被注入wp_head函数中.
更多,如果我wp_title在标题中手动调用该函数,它确实返回预期值.
怎么了?我该如何解决这个问题?
另外:我的WordPress版本是4.4.
我是JS和jQuery的初学者,所以请耐心等待.
我试图<ul>使用JS 创建一个动态列表,最后它的工作.现在我需要使用jScroll插件在我的列表中实现无限滚动概念.
所以我研究了很多关于jScroll的内容,但我找不到我需要的任何教程.大多数教程PHP几乎都使用语言,而在我的情况下,我已经PHP使用简单SELECT查询完成了我的server()代码,LIMIT并OFFSET在其上返回了一个json.
这是我的jQuery/AJAX代码,它从数据库创建动态列表,它已经在工作:
$.ajax({
url: "http://localhost/jwmws/index.php/jwm/search/msmall/"+keyword, //This is the current doc
type: "GET",
error : function(jq, st, err) {
alert(st + " : " + err);
},
success: function(result){
//generate search result
//float:left untuk hack design
$('#search').append('<p style="float:left;">Search for : ' + keyword + '</p>'
+ '<br/>'
+ '<p>Found ' + result.length + ' results</p>');
if(result.length == 0) …Run Code Online (Sandbox Code Playgroud) 我使用locale过滤器动态配置多语言设置.其中获取子域名以确定语言.
function load_custom_language($locale) {
// get the locale code according to the sub-domain name.
// en.mysite.com => return `en`
// zh.mysite.com => return `zh_CN`
// tw.mysite.com => return `zh_TW`
// etc..
}
add_filter('locale', 'load_custom_language');
Run Code Online (Sandbox Code Playgroud)
这适用于索引页,但是当我重定向,因为的设置到另一个页面,home并且siteurl,它总是我的网站重定向到原来的(www.mysite.com).
所以我很想找到一种动态的方法来过滤home和siteurl根据请求,因为我可能会为mysite使用多个子域,并且我只有一个设置用于这两个设置.
我正在使用DRF(Django Rest Framework).
我声明了一个ModelViewSet,现在我想在其上添加过滤器.
class GoodsViewSet(viewsets.ModelViewSet):
class Filter(FilterSet):
class Meta:
model = m.Goods
filter_class = Filter
filter_backends = (SearchFilter, Filter)
search_fields = ['name',]
queryset = m.Goods.objects.all()
serializer_class = s.GoodsSerializer
Run Code Online (Sandbox Code Playgroud)
看到我声明了一个Filter子类并将其应用于:
filter_class = Filter
Run Code Online (Sandbox Code Playgroud)
在我添加行之前,它在开始时工作:
filter_backends = (SearchFilter, Filter)
search_fields = ['name',]
Run Code Online (Sandbox Code Playgroud)
现在,在filter_class跳过法线时应用搜索过滤器.
一句话,他们无法一起工作.
如何解决这个问题?
好吧,我现在正在使用owl-carousel-2插件.
我遇到以下问题:
<div class="owl-carousel" style="display: none;">
<div class="item"><img src="..." /></div>
<div class="item"><img src="..." /></div>
<!-- ... -->
<div class="item"><img src="..." /></div>
</div>
<script>
$(function() {
var $owl = $('.owl-carousel');
$owl.owlCarousel();
// Doing many things here.
$owl.show();
});
</script>
Run Code Online (Sandbox Code Playgroud)
问题是:
当我使用$owl.owlCarousel();隐藏状态下的语句初始化时,其大小未初始化.
因此,当我显示该控件时,控件显示一团糟!
但是当我调整窗口大小时,它似乎触发了重新渲染.控件呈现内容,然后显示良好.
所以我想知道是否有办法在它上面触发这种重新渲染(或刷新)方法.
为了确保控件不会显示一团糟.
我试图阅读文档和来源,但还没有一个很好的解决方案.
请帮忙.
python ×5
django ×4
jquery ×3
ajax ×2
html ×2
javascript ×2
php ×2
wordpress ×2
css ×1
filter ×1
forms ×1
hook ×1
jscrollpane ×1
model ×1
one-to-one ×1
owl-carousel ×1
pip ×1
pypi ×1
pypy ×1
python-3.x ×1
rest ×1
scroll ×1
signals ×1