小编Bri*_*ian的帖子

jQuery设置CSS背景不透明度

我有一个<div>透明的背景颜色(而不是它的内容),我想改变.远程API发送给我这种颜色:

#abcdef
Run Code Online (Sandbox Code Playgroud)

我告诉jQuery(1.9)通过.css以下方式应用这种颜色:

$('div').css('background-color', '#abcdef');
Run Code Online (Sandbox Code Playgroud)

结果div的background-color样式不是#abcdef,而是相同颜色的RGB表示.

background-color: rgb(171, 205, 239);
Run Code Online (Sandbox Code Playgroud)

(只是观察;不是问题的一部分)


项目要求已经改变,我现在还需要将背景的透明度改为设定的百分比(50%).background-color因此,我想要的属性

background-color: rgba(171, 205, 239, 0.5);
Run Code Online (Sandbox Code Playgroud)

但是,我找不到使用jQuery(十六进制颜色代码)设置此背景颜色属性的方法,并仍然应用alpha值.opacity影响div的内容以及背景,所以它不是一个选项.

$('div').css('background-color', '#abcdef')
        .css('opacity', 0.5);  // undesirable opacity changes to div's content
Run Code Online (Sandbox Code Playgroud)

给定字符串#abcdef,是否只有通过计算(例如hex2dec)才可以将背景不透明度应用于div,如果我只给出一个十六进制颜色字符串?

css jquery

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

为什么要重用`undefined`?

John Resig关于他如何构建jQuery 1.4 的幻灯片中,他提到了一个点,他undefined在jQuery闭包中添加了一个变量,因为"我们可以重用(变量)".

undefined 不是一个普通的变量:

> var undefined = 4
  undefined
> undefined
  undefined
Run Code Online (Sandbox Code Playgroud)

因此,我们知道undefined不是变量.那么为什么undefined在jQuery源代码中会重新定义?

幻灯片31

javascript jquery

7
推荐指数
2
解决办法
145
查看次数

Django测试零停机模式迁移

这个问题触及了Django中零停机模式迁移的主题(也许就像这个).

双向兼容的模式迁移部署通常如下(如果此列表缺少步骤,请更正我):

  1. 扩展旧代码.
  2. 创建新的架构更改,所有字段都可以为空.
  3. 部署架构更改.
  4. 创建使用新字段的新代码更改.
  5. 部署新代码.
  6. 缩小旧代码.
  7. (可选)部署使这些字段不可为空的新更改.

但是,我没有在Django文档中找到有关测试步骤2,3和4的任何资源.理想情况下,在makemigrations生成迁移文件之前,应该传递一系列测试以指示当前代码库可以在此迁移之前和之后运行跑.

问题:Django中是否已经存在内置机制,通过该机制可以测试假设零停机时间前向和后向迁移期间的两个交错状态((old code, new schema),(new code, old schema))?

django

7
推荐指数
0
解决办法
222
查看次数

忘记提交代码的分支名称

我正在一个包含数百个分支和数十名活跃开发人员的存储库中工作。

昨天,为了解决一个紧急问题,我将工作提交给我的分支(称为feature/new-foo),在 master 的新分支(之后git fetch)中修复了一些内容,然后回家了。

今天早上,我忘记了我的feature/new-foo分行叫什么。

我已经尝试过以下方法:

  • git log --all,它显示了所有分支的所有最近提交,但无济于事
  • git branch -v | grep "foo",搜索包含foo该单词的所有分支;没有找到好的结果。
  • git for-each-ref --sort=-committerdate refs/heads/,按提交日期对所有分支进行排序;依然没有
  • git stash list,以防万一,我的更改也不存在。

我在工作中只记得添加了关键字class Edge

是否有我应该尝试的命令,或者我的功能提交是否永远迷失在分支和提交的海洋中?


这与以下问题无关:

git

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

Python:如何生成随机电话号码?

不是制作随机电话号码 xxx-xxx-xxxx的副本

我的项目使用python-phonenumbersdjango-phonenumber-field进行电话号码验证。项目中有大量的自定义验证规则列表,对于这种简单的方法是不够的:

>>> import functools
>>> import random
>>> a = functools.partial(random.randint, 0, 9)
>>> gen = lambda: "+{}-{}{}{}-{}{}{}-{}{}{}{}".format(a(), a(), a(), a(), a(), a(), a(), a(), a(), a(), a())
>>> gen()
'+2-758-702-0180'  # Obviously wrong
>>> gen()
'+1-911-555-0180'  # Obviously wrong, it has 911 in it
Run Code Online (Sandbox Code Playgroud)

那么,如果不诉诸无上限的蛮力 while 循环,也不为这些琐碎的问题引入上限,有什么更好的方法来生成验证器本身接受的有效电话号码?

from phonenumber_field.validators import validate_international_phonenumber
from django.core.exceptions import ValidationError

def generate_valid_number():
    while True:  # While loops are not desired, even with an upper bound!
        try: …
Run Code Online (Sandbox Code Playgroud)

python phone-number

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

当响应为 None 时,让其余框架返回 null

我的理解是其余框架 3 的

Response(None)
Run Code Online (Sandbox Code Playgroud)

完全等同于

Response()
Run Code Online (Sandbox Code Playgroud)

,其中(JSON)结果是一个空的响应正文,而不是null. 空响应将转换为 JavaScriptundefined而不是null,这是不正确的。所以,如果我坚持要null被退回,我不能这样做:

Response('null')
Run Code Online (Sandbox Code Playgroud)

因为这是可以理解的序列化为"null". 因此,为了null在响应中产生实际值,我必须破解一个自定义渲染器,该渲染器不加选择地返回其数据的 JSON 转储:

class PlainTextRenderer(renderers.BaseRenderer):
    media_type = 'application/json'
    format = 'json'

    def render(self, data, media_type=None, renderer_context=None):
        import json
        return json.dumps(data)

renderer_classes = (PlainTextRenderer,)
Run Code Online (Sandbox Code Playgroud)

这似乎太骇人听闻了。尽管渲染器确实有效,但我是否错过了更简单的东西?

django-rest-framework

5
推荐指数
0
解决办法
860
查看次数

具有不同拦截器的多个 Fe​​ign 客户端

在 Spring Boot 中有两个 Feign 客户端做不同的事情,但希望对它们进行不同的身份验证。

@FeignClient(
    name = "...",
    url = "${url1}",
    configuration = Config1.class
)
public interface Client1 {
    @PostMapping(
        path = "...",
        consumes = MediaType.APPLICATION_JSON_VALUE,
        produces = MediaType.APPLICATION_JSON_VALUE)
    JsonNode doThing(@RequestBody JsonNode thing);
}

@FeignClient(
    name = "...",
    url = "${url2}",
    configuration = Config2.class
)
public interface Client2 {
    @PostMapping(
        path = "...",
        consumes = MediaType.APPLICATION_JSON_VALUE,
        produces = MediaType.APPLICATION_JSON_VALUE)
    JsonNode doThing(@RequestBody JsonNode thing);
}
Run Code Online (Sandbox Code Playgroud)

它们都需要基本身份验证,但用户名和密码的值不同。为此,我考虑使用单独的Config类来设置各自的客户端:

@Configuration
public class Client1 {
    private final String user; …
Run Code Online (Sandbox Code Playgroud)

java spring-boot feign

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

Django按字段聚合,没有相关名称

鉴于这些模型:

class User(models.Model):
    pass

class Reward(models.Model):
    user = models.ForeignKey(User, related_name='+')
Run Code Online (Sandbox Code Playgroud)

我试图获取包含类似的东西的QuerySet:

| user    | reward__count |
| 1       | 103           |
| 2       | 50            |
| 3       | 67            |
Run Code Online (Sandbox Code Playgroud)

传统智慧会推荐一个类似的查询

User.objects\
    .annotate(reward__count=Count('reward_set'))\
    .values_list('user', 'reward__count')
Run Code Online (Sandbox Code Playgroud)

不幸的是,因为相关名称+,既不reward_setrewards(如果我可以命名的话)也不能作为有效参数Count().鉴于这种情况,除了python for循环之外,除了获得所需的QuerySet之外真的没办法吗?

for user in User.objects.all():
    user_rewards = Reward.objects.filter(user=user).count()
    # Store (user.pk, user_rewards) somewhere.
Run Code Online (Sandbox Code Playgroud)

django

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

Django中的OneToMany关系锁定了一个模型

我知道ForeignKeys和OneToOneFields是什么,以及ManyToManyField,它们是如何工作的,以及何时使用它们.但是,我正在处理一个项目,该项目的很多部分都无法修改.所以,假设我想让用户拥有多个电话号码,我通常会这样做:

# my_app/models.py
from django.db import models
class User(Model):
    ...

class PhoneNumber(models.Model):
    user = models.ForeignKey(User)
Run Code Online (Sandbox Code Playgroud)

PhoneNumber遇到的问题是我的模型等效来自第三方软件包,已经填充了记录,而不是我自己的应用程序中的子类.那是

# third_party_django_package/models.py
from django.db import models
class PhoneNumber(models.Model):
    # This cannot change

# my_app/models.py
from django.db import models
from third_party_django_package.models import PhoneNumber
class User(Model):
    # These do not work -- a user can have more than one phone number
    phone_number = models.ForeignKey(PhoneNumber)
    phone_number = models.OneToOneField(PhoneNumber)

    # This is close, but I want a phone number to belong to …
Run Code Online (Sandbox Code Playgroud)

django

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

强制正则表达式区分大小写?

突然,我的记事本++正则表达式搜索变得不区分大小写.这对我来说很成问题.

这是我第一次注意到这一点,我搜索了互联网,但我找到的唯一主题是将正则表达式不敏感.

有没有办法强迫他们区分大小写?

谢谢

notepad++

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