小编Alf*_*ang的帖子

如何在Django模板中替换空格?

我有一个带有多行文本字段的模型,它是从a输入的textarea.

现在我想渲染该字段,但不想使用<pre>标记.

我只想用新的替换<br/>,我找到了linebreakbr过滤器.

但我也想用空间替换空间&nbsp;.似乎未包含在文档中.

有人可以帮忙吗?

django templates space

6
推荐指数
1
解决办法
7287
查看次数

如何删除django级联的一对一相关模型?

背景:

我在Django(1.8.5)中定义了以下模型:

class PubishInfo(models.Model):
    pass

class Book(models.Model):
    info = models.OneToOneField(
        PublishInfo, on_delete=models.CASCADE)

class Newspaper(models.Model):
    info = models.OneToOneField(
        PublishInfo, on_delete=models.CASCADE)
Run Code Online (Sandbox Code Playgroud)

其中图书和NewsPaper股票相同型号PublishInfoOneToOneField,这实际上是一种独特的外键.

现在,如果我删除一个PublishInfoObject,则使用级联删除相关BookNewspaper对象.


题:

但事实上,我想要删除的PublishInfo对象级联当我删除BookNewspaper对象.这种方式是我打电话的方式.

在这种情况下,有没有什么好方法可以自动级联删除反向?

python django model-view-controller orm model

6
推荐指数
2
解决办法
3423
查看次数

在 Django Rest-framework 中定义之前引用序列化器类

# main.py

from rest_framework import serializers

class FirstSerializer(serializers.ModelSerializer):
    second = SecondSerializer(
        read_only=True)

class SecondSerializer(serializers.ModelSerialzier):
    # ...
Run Code Online (Sandbox Code Playgroud)

我怎样才能使这成为可能?

我的意思是,在定义类之前取消类的声明,这可能吗?如何?

原因

事实上,我正在 django-rest-framework 上进行开发。

看到本节:http ://www.django-rest-framework.org/api-guide/relations/#nested-relationships

我想将一个序列化器嵌入到另一个序列化器中,但序列化器类必须稍后定义。

那么如何使这项工作有效呢?

python django syntax python-3.x django-rest-framework

6
推荐指数
1
解决办法
2221
查看次数

Vue.js:我应该在Vue-Router SPA中放置一些常见的JS util吗?

在我的Vuejs项目中,我有一些通用的js函数,可通过多个组件使用:

我的代码结构如下,在http://vuejs.github.io/vuex/en/structure.html中进行了介绍:

??? index.html
??? main.js
??? components
?   ??? App.vue
?   ??? ...
??? vuex
    ??? store.js     # exports the store (with initial state and mutations)
    ??? actions.js   # exports all actions
Run Code Online (Sandbox Code Playgroud)

some_component.vue

<template>
// The page content
</template>

<script>
export default {
    attached: function() {
        if(!isLoggedIn) {
            $this.router.go('/signin');
        }
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我要创建一个loginRequired可以在多个组件中调用的函数。

那么我应该如何组织代码?

javascript single-page-application ecmascript-6 vue.js vue-router

6
推荐指数
1
解决办法
3463
查看次数

使用 python3 进行异步 http 请求

有没有办法像node.js一样让python3异步?

我想要一个最小的例子,我已经尝试了下面的方法,但仍然适用于同步模式。

import urllib.request

class MyHandler(urllib.request.HTTPHandler):

    @staticmethod
    def http_response(request, response):
        print(response.code)
        return response

opener = urllib.request.build_opener(MyHandler())
try:
    opener.open('http://www.google.com/')
    print('exit')
except Exception as e:
    print(e)
Run Code Online (Sandbox Code Playgroud)

如果异步模式有效,则应print('exit')首先显示 。

有人可以帮忙吗?

python asynchronous http python-3.x

5
推荐指数
1
解决办法
3906
查看次数

PyCharm 3.4.1:未解析的引用'map'

我们知道,它map是一个python内置函数.

我目前使用PyCharm 3.4.1,它报告了一个

Unresolved reference 'map' 
Run Code Online (Sandbox Code Playgroud)

在我的代码中:

a = map(int, [1,2,3])
Run Code Online (Sandbox Code Playgroud)

地图词用红色波浪下划线,并显示此消息提示.

在此输入图像描述

我一直在阅读这个问题:PyCharm显示有效代码的未解析引用错误

文件| 使高速缓存无效......并重新启动PyCharm会有所帮助.

但问题仍未解决.


有关更多信息,我正在研究django 1.6对象.

项目翻译如下:

在此输入图像描述

谁能告诉为什么以及如何?非常感谢!

python ide pycharm

5
推荐指数
1
解决办法
1811
查看次数

在 Django 聚合中使用 ifnull 默认值

我有以下模型类:

class Goods(models.Model):
    name = models.CharField(max_length=100)

class InRecord(models.Model):
    goods = models.ForeignKey(Goods, related_name='in_records')
    timestamp = models.DateTimeField()
    quantity = models.IntegerField()

class OutRecord(models.Model):
    goods = models.ForeignKey(Goods, related_name='out_records')
    timestamp = models.DateTimeField()
    quantity = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)

因此,我想获得一个 QuerySet,其中包含所有具有正存储库的商品。

另一种描述它的方式是,我想过滤具有比 OutRecord 摘要更大的 InRecord 数量摘要的 Goods。


我试过的:

首先,我使用annotate将摘要添加到查询集中:

qs = Goods.objects.annotate(
        qty_in=Sum(in_records__quantity), 
        qty_out=Sum(out_records_quantity)
    )
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但有一个问题,当某些商品没有相关的 in_records 或 out_records 时,注释的字段返回 None

问题:那么,在这种情况下,我有什么方法可以设置默认值,就像ifnull(max(inreocrd.quantity), 0)sql 中的* 调用一样?


在此之后,我想在该 QuerySet 上添加一个过滤器:

我试过:

qs = qs.filter(qty_in__gt(F(qty_out)))
Run Code Online (Sandbox Code Playgroud)

但是如果没有货物的记录,它仍然不起作用。

请帮忙。

django default aggregate annotate models

5
推荐指数
1
解决办法
2413
查看次数

我如何推迟像jerr Deferred这样的ES6承诺?

1.使用es6 promise,但是语法不正确。

我正在使用es6,并希望创建一个延迟确认对话框:

// First, create an empty promise:
let promise = new Promise((resolve, reject) => {})

// Then, show the dialog:
let $dialog = $('#dialog-confirm').show();

// FAIL: I want to trigger the promise resolver, but failed.
$dialog.find('.btn-yes').click(() => { promise.resolve(); })
$dialog.find('.btn-no').click(() => { promise.reject(); })
Run Code Online (Sandbox Code Playgroud)

当我单击按钮时,它失败了,因为Promise没有rejectand resolve方法。

未被捕获的TypeError:promise.resolve不是一个函数(…)

2. jQuery的工作代码:

如果使用jQuery,我们可以执行以下操作:

// First, create an empty promise:
var dfd = $.Deferred();
var promise = dfd.promise();

// Then, show the dialog:
var $dialog = $('#dialog-confirm').show();

// …
Run Code Online (Sandbox Code Playgroud)

javascript jquery deferred ecmascript-6 es6-promise

5
推荐指数
1
解决办法
6323
查看次数

PHP 简短语句使变量回退到默认值

众所周知,如果我们使用 javascript 或 python,我们可以使用下面的语句来获取变量或其默认值。

// javascript
alert(a || 'default');

# python
print(a or 'default');
Run Code Online (Sandbox Code Playgroud)

在 php 中,我们可能需要调用以下命令:

echo $a ? $a : 'default';
Run Code Online (Sandbox Code Playgroud)

如果 $a 是一个很长的语句,情况就更糟了:

echo (
    we_made_many_calculation_here_and_this_is_the_result() ?
    we_made_many_calculation_here_and_this_is_the_result() :
    'default'
);
Run Code Online (Sandbox Code Playgroud)

或者

var $result = we_made_many_calculation_here_and_this_is_the_result();
echo $result ? $result : 'default';
Run Code Online (Sandbox Code Playgroud)

以上任何一个,我认为都不够简洁。

我盲目地寻找任何答案,寻找语句或内置函数来简化工作。但尝试了多种方法后,我都找不到答案。

所以请帮忙。

php syntax function

4
推荐指数
1
解决办法
3798
查看次数

Vue.js 2:如何从.vue文件初始化(构造)Vue组件?

我正在尝试创建一个Component实例:

App.vue

import MyComponent from './components/MyCompnent.vue';
export default {
    mounted() {
        // The following line fails.
        const vm = new MyComponent();
        vm.$mount('#some-place');
    }
}
Run Code Online (Sandbox Code Playgroud)

并且该new行报告错误:

未捕获的TypeError:MyComponent.default不是构造函数

那么如果我想创建组件呢?

mvvm ecmascript-6 vue.js vue-component vuejs2

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