小编Alf*_*ang的帖子

在django中使用pre_save时取消保存模型

我有一个模特:

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)

python django signals

21
推荐指数
3
解决办法
8848
查看次数

如何使用python命令运行不同版本的python的pip?

我现在正在ubuntu 15.10上使用Python

但在我的操作系统中,我安装了许多不同的python版本:

  • Python(2.7.9)
  • Python3(3.4.3)
  • Python3.5
  • PyPy

所以,我对他们的包环境版本感到很乱,例如,如果我运行:

pip3 install django
Run Code Online (Sandbox Code Playgroud)

实际上我不能在里面导入django python3.5.

有没有有效的方法来调用相关版本pip

PS:不建议我使用virtualenv,我知道它并正在寻求另一种解决方案.

python pypy pip pypi python-3.x

21
推荐指数
2
解决办法
4万
查看次数

使用javascript通过函数调用模拟帖子表单提交

使用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)

javascript forms ajax jquery

16
推荐指数
2
解决办法
2万
查看次数

django上的Sphinx-apidoc在`django.core.exceptions.AppRegistryNotReady上构建html失败

问题背景:

我想在我的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)

python django documentation python-sphinx

15
推荐指数
1
解决办法
3085
查看次数

检查Django中是否存在OneToOne关系

现在我正在使用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)

朋友们,你遇到同样的问题吗?请指点我,谢谢!

python django model one-to-one

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

wp_title过滤器对<title>标记没有任何影响

我刚刚在我的主题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.

html php wordpress

12
推荐指数
1
解决办法
1万
查看次数

如何实现jScroll?

我是JS和jQuery的初学者,所以请耐心等待.

我试图<ul>使用JS 创建一个动态列表,最后它的工作.现在我需要使用jScroll插件在我的列表中实现无限滚动概念.

所以我研究了很多关于jScroll的内容,但我找不到我需要的任何教程.大多数教程PHP几乎都使用语言,而在我的情况下,我已经PHP使用简单SELECT查询完成了我的server()代码,LIMITOFFSET在其上返回了一个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)

javascript ajax jquery scroll jscrollpane

11
推荐指数
1
解决办法
1万
查看次数

如何在WordPress中设置动态`home`和`siteurl`?

我使用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).

所以我很想找到一种动态的方法来过滤homesiteurl根据请求,因为我可能会为mysite使用多个子域,并且我只有一个设置用于这两个设置.

php wordpress hook

11
推荐指数
1
解决办法
1万
查看次数

如何在Django Rest Framework上使用普通Filter和SearchFilter?

我正在使用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跳过法线时应用搜索过滤器.

一句话,他们无法一起工作.

如何解决这个问题?

python django rest filter django-rest-framework

11
推荐指数
1
解决办法
3084
查看次数

如何重新渲染猫头鹰旋转木马项目?

好吧,我现在正在使用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();隐藏状态下的语句初始化时,其大小未初始化.

因此,当我显示该控件时,控件显示一团糟!

但是当我调整窗口大小时,它似乎触发了重新渲染.控件呈现内容,然后显示良好.


所以我想知道是否有办法在它上面触发这种重新渲染(或刷新)方法.

为了确保控件不会显示一团糟.

我试图阅读文档和来源,但还没有一个很好的解决方案.

请帮忙.

html css jquery owl-carousel owl-carousel-2

10
推荐指数
4
解决办法
5万
查看次数