小编Zul*_*ulu的帖子

django-compressor、LESS、相对@import 和相对 url()

我正在使用 django-compressor + LESS。

@import在 .less 文件中的相对url(../image.png)和包含.less文件中的相对有问题。

我会解释。我有下一个文件夹结构:

common/  # Django app with some common stuff, e.g. common button styles
   static/
     common/
       less/buttons.less
       img/icon.png
blog/
  static/
    blog/
      less/blog_buttons.less
Run Code Online (Sandbox Code Playgroud)

在里面buttons.less我有按钮的 mixin:

.button() {
    color: white;
    padding: 4px 10px;
    background: gray url(../img/icon.png) no-repeat 0 0;
}
Run Code Online (Sandbox Code Playgroud)

在里面blog_buttons.less我使用这个mixin:

@import "../../../../common/static/common/less/buttons";

.blog_button {
    .button;
    background-color: orange;
}
Run Code Online (Sandbox Code Playgroud)

这是问题所在:

当 django-compress 预编译我的blog_buttons.less- 按钮背景指向/static/blog/img/icon.png(404 Not Found)。但它应该指向/static/common/img/icon.png

难道我做错了什么?(我觉得应该是一种很常见的情况)

django less django-compressor

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

使用s3-boto中断浏览器缓存的django-storage

我有一个django项目,它使用django-storage而不是s3-boto.

问题是位于S3上的每个文件都无法缓存,因为每个调用都更改了URL.

这里是django-storage生成的两个调用:

https://my.s3.amazonaws.com/cache/user_6/profile_pic/profile_profile_picture_thumbnail.jpg?Signature=HlVSayUIJj6dMyk%2F4KBtFlz0uJs%3D&Expires=1364418058&AWSAccessKeyId=[awsaccesskey]     
https://my.s3.amazonaws.com/cache/user_6/profile_pic/profile_profile_picture_thumbnail.jpg?Signature=xh2VxKys0pkq7yHpbJmH000wkwg%3D&Expires=1364418110&AWSAccessKeyId=[awsaccesskey]
Run Code Online (Sandbox Code Playgroud)

如您所见,签名是不同的.我该怎么办才不会破坏我的浏览器缓存?

django django-storage

5
推荐指数
2
解决办法
1933
查看次数

如何格式化Django视图的文档字符串

我在项目中使用简单的视图,现在我的项目开始变得更大,我正在编写一个狮身人面像文档,并使用sphinx.ext.autodoc包含对象的文档字符串。

我的麻烦是:如何大幅格式化视图的文档字符串?

  • 记录GET / POST和更多行为。
  • 使用的模板
  • 上下文内容

例如,我正在使用:

def my_view(request):
    """
    Do something depending of HTTP method.

    In GET: Returns a page
    IN POST: Make something and redirect

    GET parameters:
    GET['next'] : URL to redirect to after submit form

    POST parameters:
    POST['action'] : Action
    """
Run Code Online (Sandbox Code Playgroud)

我在自问是否有更好的方法来做到这一点?是否对此有共识?

django restructuredtext docstring python-sphinx

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

如果Django-reversion中没有任何更改,请不要创建新版本

我想在django-reversion中保存新的对象版本.我浏览了文档,但没有找到任何相关信息.我怎样才能实现它?

django django-reversion django-1.8

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

Python,suds,管理数组答案


我正在使用suds库从webservice获取产品列表.

这是一个示例代码:

from suds.client import Client
url = 'WSDLURL'
client = Client(url)
result = client.service.Research('value')
Run Code Online (Sandbox Code Playgroud)

结果包含:

(ArrayOfProducts){
   Product[] = 
      (Product){
         Id = 218
         Code = "C024"
         Name = "test2"
         Avaiable = True
         UrlDownload = None
         MetaData = 
            (ArrayOfMetaData){
               MetaData[] = 
                  (MetaData){
                     CoderepositoryISO = "16701"
                     Title = "1ST"
                  },
            }
      },
      (Product){
         Id = 219
         Code = "C025"
         Name = "test3"
         Avaiable = True
         UrlDownload = None
         MetaData = 
            (ArrayOfMetaData){
               MetaData[] = 
                  (MetaData){
                     CoderepositoryISO = "16702"
                     Title = "2ND"
                  },
            } …
Run Code Online (Sandbox Code Playgroud)

python arrays soap web-services suds

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

Python GTK - AttributeError:'gi.repository.Gtk'对象没有属性'Stack'

我正在学习Python GTK教程,学习在Ubuntu上制作简单的应用程序.虽然前几个片段运行没有问题,但我进入Stack和StackSwitcher部分,它开始有麻烦.特别:

AttributeError: 'gi.repository.Gtk' object has no attribute 'Stack'
Run Code Online (Sandbox Code Playgroud)

我在这里没有选择,因为我不知道发生了什么.我安装了GTK3,以及Python 2.7.4和3.3.1,但我认为我正在导入较旧的GTK版本

#!/usr/bin/python
from gi.repository import Gtk

print str(Gtk.get_major_version()) + "." + str(Gtk.get_minor_version()) + "." + str(Gtk.get_micro_version())
Run Code Online (Sandbox Code Playgroud)

输出

3.6.4
Run Code Online (Sandbox Code Playgroud)

我在Ubuntu 12.04上,我错过了安装的东西吗?

python gtk

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

根据模板的typename设置private属性

上下文:
我们正在尝试建立一个名为Operand的类模板,它可以将几种类型作为其类型名称T.这些在以下枚举中定义:

enum eOperandType {
    INT8
    INT16,
    INT32,
    FLOAT,
    DOUBLE
};
Run Code Online (Sandbox Code Playgroud)

那些对应于定义的类型<cstdint>,即int8_t, int16_t,等等.

构造函数必须Operand(std::string const & value);.

template<class T>
class Operand : public IOperand
{

public:
    Operand(std::string const & value)
    {
        std::stringstream ss(value);

        ss >> _value;
        //_type = ??? ;
    }

[...]

private:
    Operand(void){}

    eOperandType    _type;
    T               _value;
};
Run Code Online (Sandbox Code Playgroud)

接口IOperand在这里并不重要,只是运算符重载的一些原型.

问题:
设置_type属性的最佳方法是什么?最简单的办法是只写几个if/else iftypeid或接近的东西,但我觉得这将是非常脏.此外,我只是认为typeid在模板内部使用只是意味着你在某处做错了什么......对吗?

c++ templates class

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

如何在Django中测试auto_now_add

我有django 1.11应用程序,我想为我的解决方案编写单元测试。

我想测试注册日期功能。

model.py:

class User(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    registration_date = models.DateTimeField(auto_now_add=True)

    def get_registration_date(self):
        return self.registration_date
Run Code Online (Sandbox Code Playgroud)

我还在模型工厂中使用django-boy:factory.py

  class UserFactory(factory.DjangoModelFactory):
        class Meta:
            model = models.User
        first_name = 'This is first name'
        last_name = 'This is last name'
        registration_date = timezone.now()
Run Code Online (Sandbox Code Playgroud)

test.py

def test_get_registration_date(self):
    user = factories.UserFactory.create()
    self.assertEqual(user.get_registration_date(), timezone.now())
Run Code Online (Sandbox Code Playgroud)

问题是我接受了AssertionError

AssertionError: datetime.datetime(2018, 4, 17, 9, 39, 36, 707927, tzinfo=<UTC>) != datetime.datetime(2018, 4, 17, 9, 39, 36, 708069, tzinfo=<UTC>)
Run Code Online (Sandbox Code Playgroud)

python django datetime unit-testing factory-boy

4
推荐指数
3
解决办法
836
查看次数

python模块出现在没有的地方

今天有一件奇怪的事发生在我身上.当我进入dir(django) o/pi 时,我试图在www.shell.appspot.com上获得一些appengine和Django.

['VERSION', '__builtins__', '__doc__', '__file__', '__name__', '__path__', 'conf', 'core', 'template', 'utils']
Run Code Online (Sandbox Code Playgroud)

但我还是试过

from django import forms
Run Code Online (Sandbox Code Playgroud)

而且令我惊讶的是,虽然没有恍惚状态,但是dir()出于好奇,我再次进入dir(django) 并且o/pi得到了

['VERSION', '__builtins__', '__doc__', '__file__', '__name__', '__path__', 'conf', 'core', 'forms', 'oldforms', 'template', 'utils']
Run Code Online (Sandbox Code Playgroud)

请注意这里的表格元素.任何人都可以向我解释这些表格的来源吗?

python google-app-engine

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

如何从python中删除字符串中的小写单词

我是python的新手,我有一些问题在做一件简单的事情.

我有一个数组(或在python中说的列表),如下所示:

 list = [ 'NICE dog' , 'blue FLOWER' , 'GOOD cat' , 'YELLOW caw']
Run Code Online (Sandbox Code Playgroud)

如您所见,此数组的每个元素都包含一些单词.这些单词都是小写和大写.

我如何从这个数组中删除每个小写的单词?

例如,我想将此列表作为结果:

list = [ 'NICE' , 'FLOWER' , 'GOOD' , 'YELLOW']
Run Code Online (Sandbox Code Playgroud)

python list

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