小编Nep*_*nat的帖子

滚动下来后粘滞的标题

我在这个网站上看到了这个粘性标题:http : //dunked.com/ (不再有效,查看存档的网站)

当您向下滚动时,粘性标题从顶部向下.

我查看了代码,但看起来很复杂.我只明白这一点:正常的标题用JS克隆,当你向下滚动页面时,它从顶部开始动画.

javascript jquery header sticky

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

谷歌地图,点击链接后打开信息窗口

我有这个代码来显示谷歌地图:

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script type="text/javascript">
function initialize() {

        var mapOptions = {
            zoom: 10,
            center: new google.maps.LatLng(40.714364, -74.005972),
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        var map = new google.maps.Map(document.getElementById("googlemap"), mapOptions);


        var locations = [
            ['New York', 40.714364, -74.005972, 'http://www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png']
        ];


        var marker, i;
        var infowindow = new google.maps.InfoWindow();


        google.maps.event.addListener(map, 'click', function() {
            infowindow.close();
        });


        for (i = 0; i < locations.length; i++) {
            marker = new google.maps.Marker({
                position: new google.maps.LatLng(locations[i][1], locations[i][2]),
                map: map,
                icon: locations[i][3]
            });


            google.maps.event.addListener(marker, 'click', (function(marker, i) {
                return function() …
Run Code Online (Sandbox Code Playgroud)

google-maps google-maps-api-3

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

!r 在 Python 中是什么意思?

我在一个项目中找到了以下代码。

什么是!r部分是什么意思?

def __repr__(self):
    return f"user={self.user!r}, variant={self.variant!r}"
Run Code Online (Sandbox Code Playgroud)

python f-string

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

如何在数据类模块的 asdict 函数中使用枚举值

我有一个字段template类型为 Enum的数据类。使用该asdict函数时,它将我的数据类转换为字典。是否可以使用valueof 属性FoobarEnum来返回字符串值而不是 Enum 对象?

我最初的想法是使用函数的dict_factory=dict参数asdict并提供我自己的工厂,但我不知道如何做到这一点。

from dataclasses import dataclass, asdict
from enum import Enum


@dataclass
class Foobar:
  name: str
  template: "FoobarEnum"


class FoobarEnum(Enum):
  FIRST = "foobar"
  SECOND = "baz"


foobar = Foobar(name="John", template=FoobarEnum.FIRST)

print(asdict(foobar))
Run Code Online (Sandbox Code Playgroud)

电流输出:

{'name': 'John', 'template': <FoobarEnum.FIRST: 'foobar'>}
Run Code Online (Sandbox Code Playgroud)

目标:

{'name': 'John', 'template': 'foobar'}
Run Code Online (Sandbox Code Playgroud)

python enums python-dataclasses

11
推荐指数
4
解决办法
6885
查看次数

使用不带 .value 属性的枚举值

class Color(Enum):
    GREEN = '#1c5f17'
    BLUE = '#565fcc'
Run Code Online (Sandbox Code Playgroud)

是否可以调用 Color.GREEN并返回“#1c5f17”?

我不想Color.GREEN.value每次想使用这个时都打电话。

python

10
推荐指数
2
解决办法
3877
查看次数

批量创建需要事务原子性吗?

我正在使用bulk_createDjango 的方法一次创建多个条目。

为了确保仅在没有异常的情况下才提交更改,我正在考虑添加transaction.atomic()到代码块,但我不确定是否需要添加它。

根据我的理解,我只需要在场景 2中添加它,因为在这种情况下我正在执行多个查询。

场景1

在一次查询中创建 1.000 个条目

Entry.objects.bulk_create([
    Entry(headline='This is a test'),
    Entry(headline='This is only a test'),
    # ...
])
Run Code Online (Sandbox Code Playgroud)

场景2

以 1.000 为一组创建 10.000 个条目

Entry.objects.bulk_create([
    Entry(headline='This is a test'),
    Entry(headline='This is only a test'),
    # ...
], batch_size=1_000)
Run Code Online (Sandbox Code Playgroud)

python database django

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

将用户配置文件添加到request.user

我有多个User类型,我以模型的形式由用户配置文件表示:

  • 学生
  • 老师

我需要在每个请求上访问特定的用户配置文件.为了避免每次我想直接添加select_relatedrequest.user对象时执行额外的查询.

我在文档中找不到任何关于它的内容.有谁知道最好的方法吗?

python django

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

将列表中的项目重复到所需的长度

我有可用项目列表,可用于创建总长度为4的新列表。可用项目列表的长度永远不会超过4个项目。如果列表中的元素少于4个,我希望使用从start元素开始的可用元素填充它。

范例1:

available_items = [4, 2]
Result -> [4, 2, 4, 2]
Run Code Online (Sandbox Code Playgroud)

范例2:

available_items = [9, 3, 12]
Result -> [9, 3, 12, 9]
Run Code Online (Sandbox Code Playgroud)

范例3:

available_items = [3]
Result -> [3, 3, 3, 3]
Run Code Online (Sandbox Code Playgroud)

我觉得我的解决方案不是最优的,但是到目前为止,我发现没有什么更好的了:

available_items = [3, 5]
required_items = 4

if len(available_items) == 1:
  new_items = [available_items[0]] * required_items
else:
  new_items = available_items + []
  for i in range(required_items - len(available_items)):
    new_items.append(available_items[i])

print(new_items)
Run Code Online (Sandbox Code Playgroud)

python

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

useCallback 有语义保证吗?

React 文档说明了以下内容 useMemo

您可以依赖 useMemo 作为性能优化,而不是语义保证。将来,React 可能会选择“忘记”一些先前记忆的值并在下一次渲染时重新计算它们,例如为屏幕外组件释放内存。编写您的代码,使其在没有 useMemo 的情况下仍然可以工作——然后添加它以优化性能。

因为useCallback有以下行:

useCallback(fn, deps) 等价于 useMemo(() => fn, deps)。

“等效”这个词对我来说有点模糊,我不知道这是否也意味着useCallback不提供语义保证。

javascript reactjs

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

从多表继承模型迁移到Django中的抽象基类

我当前的项目使用多表继承模型

from django.db import models

class Place(models.Model):
    name = models.CharField(max_length=50)
    address = models.CharField(max_length=80)

class Restaurant(Place):
    serves_hot_dogs = models.BooleanField(default=False)
    serves_pizza = models.BooleanField(default=False)

class Cinema(Place):
    sells_tickets = models.BooleanField(default=False)
    sells_popcorn = models.BooleanField(default=False)
Run Code Online (Sandbox Code Playgroud)

我想改用抽象基类。由于我的模型已经部署,我需要编写一些自定义迁移以将上述架构转换为以下架构:

from django.db import models

class AbstractPlace(models.Model):
    name = models.CharField(max_length=50)
    address = models.CharField(max_length=80)

    class Meta:
        abstract = True

class Restaurant(AbstractPlace):
    serves_hot_dogs = models.BooleanField(default=False)
    serves_pizza = models.BooleanField(default=False)

class Cinema(AbstractPlace):
    sells_tickets = models.BooleanField(default=False)
    sells_popcorn = models.BooleanField(default=False)
Run Code Online (Sandbox Code Playgroud)

有谁对实现这一目标所采取的步骤有任何建议吗?

python django

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