小编Gio*_*lia的帖子

如何使用JavaScript修改CSS类?

我知道如何在单个标签上应用css(或改变它上面的类),但这不是我要求的!

我想修改CSS类中的属性而不触及应用类的元素.

换句话说,如果这是css

.myclass {
  font-size: 14px;
  color: #aab5f0;
}
Run Code Online (Sandbox Code Playgroud)

这是html

<span id="test" class="myclass"> foo bar </span>
Run Code Online (Sandbox Code Playgroud)

增加span标签的字体我想修改类的内容而不是做类似的事情

var fontsize = parseInt($('#test').css('font-size').replace(/[^-\d\.]/g, ''));
fontsize += 10;
$('#test').css('font-size', fontsize+'px');
Run Code Online (Sandbox Code Playgroud)

我希望课程成为

.myclass {
      font-size: 18px;
      color: #aab5f0;
    } 
Run Code Online (Sandbox Code Playgroud)

有没有办法通过Javascript更改实际的类?

我的另一个解决方案是将css放入一个容器中,每次都重新装满容器,但我感觉这不是一个好主意......

html javascript css jquery

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

在python中使用类变量调用装饰器

可能我以错误的方式解决问题并且有一个更简单的解决方案,但这是我的问题。

我有一个这样定义的装饰器:

def my_decorator(argument):
    def wrap(f):
       def wrapped_f(*args, **kwargs):
           .... # does something with argument
       return wrapped_f
    return wrap
Run Code Online (Sandbox Code Playgroud)

然后我定义了一个看起来像这样的类:

class MyClass(object):
    def __init__(argument):
        self.argument = argument

    @my_decorator(self.argument)  # !this is an error! 
    def my_method(self):
       .... # does something
Run Code Online (Sandbox Code Playgroud)

显然我写的是错误的,因为在装饰器级别我无法访问self,但是解决这个问题的正确方法是什么?

python decorator python-decorators

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

Django:在模板中创建一个变量

我有一个值列表,我想在django的模板中显示.

列表或多或少是这样的:

199801 string1
199802 string2
199904 string3
200003 string4
200011 string5
Run Code Online (Sandbox Code Playgroud)

其中第一列是YYYYMM形式的日期,第二列是通用字符串

列表按日期desc排序

我想要创建的是按年份分组的stringx列表,如下所示:

1998 string1, string2
1999 string3
2000 string4, string5
Run Code Online (Sandbox Code Playgroud)

我看了一下文档,我认为我唯一需要的是创建变量的方法来存储我打印的"去年",所以我可以这样做:

if current_value.year != last_year
     #create a new row with the new year and the string
else
     #append the current string to the previous one
Run Code Online (Sandbox Code Playgroud)

我认为我发现的唯一方法是编写自定义模板标签并让它存储变量和值......但在开始编写代码之前我想知道是否有更简单的方法!

django django-templates

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

Django:同一模型上不同查询集的联合

我正在编写模型搜索,但我遇到了问题.

我的模型几乎像:

class Serials(models.Model):
    id = models.AutoField(primary_key=True)
    code = models.CharField("Code", max_length=50)
    name = models.CharField("Name", max_length=2000)
Run Code Online (Sandbox Code Playgroud)

我在数据库中有这样的元组:

1   BOSTON   The new Boston
2   NYT      New York journal
3   NEWTON   The old journal of Mass
4   ANEWVIEW The view of the young people
Run Code Online (Sandbox Code Playgroud)

如果我搜索字符串new,我想要的是:

  • 首先names是以字符串开头
  • 然后codes以字符串开头
  • 然后names包含字符串
  • 然后codes包含字符串

所以之前的列表应该以下列方式出现:

2   NYT      New York journal
3   NEWTON   The old journal of Mass
1   BOSTON   The new Boston
4   ANEWVIEW The view of the …
Run Code Online (Sandbox Code Playgroud)

django django-templates django-queryset

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

Python和libxml2:如何使用XPATH在xml节点中进行迭代

我在从XML树中检索信息时遇到问题.

我的XML有这样的形状:

<?xml version="1.0"?>
<records xmlns="http://www.mysyte.com/foo">
  <record>
    <id>first</id>
    <name>john</name>
    <papers>
      <paper>john_1</paper>
      <paper>john_2</paper>
    </papers>
  </record>
  <record>
    <id>second</id>
    <name>mike</name>
    <papers>
      <paper>mike_a</paper>
      <paper>mike_b</paper>
    </papers>
  </record>
  <record>
    <id>third</id>
    <name>albert</name>
    <papers>
      <paper>paper of al</paper>
      <paper>other paper</paper>
    </papers>
  </record>
</records>
Run Code Online (Sandbox Code Playgroud)

我想要做的是提取如下的数据元组:

[{'code': 'first', 'name': 'john'}, 
 {'code': 'second', 'name': 'mike'}, 
 {'code': 'third', 'name': 'albert'}]
Run Code Online (Sandbox Code Playgroud)

现在我写了这个python代码:

try:
  doc = libxml2.parseDoc(xml)
except (libxml2.parserError, TypeError):
  print "Problems loading XML"

ctxt = doc.xpathNewContext()
ctxt.xpathRegisterNs("pre", "http://www.mysyte.com/foo")

record_nodes = ctxt.xpathEval('/pre:records/pre:record')

for record_node in record_nodes:
  id = record_node.xpathEval('id')[0].content
  name = record_node.xpathEval('name')[0].content
  ret_list.append({'code': id, 'name': …
Run Code Online (Sandbox Code Playgroud)

python xml xpath libxml2

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

webpy:如何覆盖基本模板的内容?

我正在使用带有基本模板的webpy

render = web.template.render(basedir + 'templates/', base='layout', globals=globals_vars_custom)
Run Code Online (Sandbox Code Playgroud)

layout.html我有类似的东西:

$def with (content)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
    <head>
        <title>PAGE TITLE</title>
        <!-- Some CSS and some javascript -->
    </head>
    <body>
        $:content
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这个基本模板适用于我的网站的90%,但我有一个页面,我需要在<head>(一些元标记)内插入一些其他数据.

我怎样才能做到这一点?如何在<head>内部构建一个我可以在模板中轻松覆盖的结构?

谢谢!

python templates overriding web.py

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

Python:以可逆方式将代码字符串转换为更短无意义的字符串

对于通用问题我很抱歉(我没有任何关于压缩的知识,我不知道它是否有可能的解决方案).

我有一些总共19个字符的代码.

这些字符只能是:A-Z,a-z,0-9,.,:,-

一个例子可以是类似的东西 1995AbC...123..456Z

我想要做的是找到一种方法,以可逆的方式将字符串转换为仅包含ascii字符的较短字符串:类似于gfSDd2H.

  • 可能吗?
  • 有没有办法在python中做到这一点?

谢谢!

python compression translation

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

MySQL:使用其他HASH字段的UNIQUE文本字段

在我的MySQL DB中,有一个定义如下的表:

CREATE TABLE `mytablex_cs` (
  `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `tag` varchar(6) COLLATE utf8_bin NOT NULL DEFAULT '',
  `value` text COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`id`),
  KEY `kt` (`tag`),
  KEY `kv` (`value`(200))
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_bin
Run Code Online (Sandbox Code Playgroud)

我需要在value字段上实现UNIQUE约束(键)。

我知道尚无法在blobor或text字段的整个值上定义唯一索引,但是建议使用一个工单(?)来实现功能(请参阅本页),建议使用以下方法创建唯一键:像已经为其他字段实现的哈希。

现在,我想使用一种类似的方法向表中添加另一个包含哈希的字段,并在该字段上创建唯一键。

我介绍了创建此哈希的可能方法,并且由于我想避免冲突(我需要插入几百万个条目),因此即使快速搜索给出,RIPEMD-160算法似乎也是最好的算法我有几种使用SHA256甚至SHA1和MD5的类似解决方案。

我完全缺乏密码学知识,那么选择这种方法的缺点是什么?

我有另一个问题:MySQL当前使用哪种算法创建哈希?

mysql md5 cryptography sha256 unique-key

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

在Python中更改重写类方法的参数数量是不好的做法?

假设我有一个用Python编写的类,如下所示:

class Foo(object):
    """My fake class"""

    def mymethod(self, first_arg):
        """original method"""
        pass
Run Code Online (Sandbox Code Playgroud)

现在让我们说我定义了一个扩展前一个类的新类,我想覆盖mymethod:

class Bar(Foo):
    """My new class"""

    def mymethod(self, first_arg, second_arg):
        """overridden method"""
        return first_arg == second_arg
Run Code Online (Sandbox Code Playgroud)

更改重写方法中的参数数量是不好的做法?

编辑:

关于这个,有没有官方的"良好做法"规则?我刚刚看到如果你在pydev中做了类似的事情就会收到警告,所以我想应该有一些"官方"的东西.

python overriding

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

Python unittest:在不同模块中具有重复代码的外部函数

假设我有一个ServA用python编写的Web服务,我想编写一些单元测试.

ServA 做了几件事(有不同的观点),但所有的观点产生了一个类似的请求日志.

这些测试应该检查ServA不同情况下的日志,因此这些单元测试有很多重复的代码(日志的结构总是相同的).

我的想法是编写一个通用函数来避免重复代码,我发现了另一个问题,解决了在unittest类中创建泛型方法的问题.

但是,如果我有另一个Web服务ServB和另一组测试,我需要做同样的事情呢?

有没有办法重用泛型函数?

我应该简单地使用方法创建一个测试类来检查日志,如下所示:

class MyMetaTestClass(unittest.TestCase):
    def check_logs(self, log_list, **kwargs):
       #several self.assertEqual
Run Code Online (Sandbox Code Playgroud)

然后ServA和ServB的测试继承这个类,如下所示:

class TestServA(MyMetaTestClass):
    def test_log1(self):
       logs = extract_the_logs()
       self.check_logs(logs, log_1=1, log2='foo')
Run Code Online (Sandbox Code Playgroud)

有另一种(更好的)方式吗?

python unit-testing

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