小编Ale*_*ler的帖子

如何使用 django 测试系统测试 EmailMultiAlternatives 对象中的替代正文内容?

我在我的视图中有带有文本和 html 内容的 EmailMultiAlternatives 对象:

email = EmailMultiAlternatives(subject=subject, body=message, from_email=sender, to=recipient)
email.attach_alternative(messageHTML, 'text/html')
Run Code Online (Sandbox Code Playgroud)

当我测试消息正文属性的内容包含文本版本时,我不知道如何断言 html 内容:

self.assertHTMLEqual(mail.outbox[0].body, message) # This test passes
self.assertHTMLEqual(mail.outbox[0].<???>, messageHTML) # But here I don't know what to do
Run Code Online (Sandbox Code Playgroud)

email django assertions django-testing

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

在 jest document.querySelector 中测试 vue 组件时总是返回 null

这是我的测试:

jest.mock('gsap')
import TweenMax from '../../__mocks__/gsap'
import Component from '@/components/Callback/Form.vue'
import { shallow, createLocalVue } from '@vue/test-utils'

const localVue = createLocalVue()

test('phone opacity changing from 1 to 0 in totalTime', () => {
    const wrapper = shallow(Component, {
        localVue,
        mocks: {
            localStorage
        },
        watch: {
            step
        },
        methods: {
            enterNamePlaceholder,
            toNextBtn
        }
    })
    const phone = wrapper.find('.callback__phone')
    expect(TweenMax.to.mock.calls[0][0]).toBe(phone.element)
})
Run Code Online (Sandbox Code Playgroud)

正在测试的代码:

TweenMax.to(document.querySelector('.callback__phone'), this.totalTime, {opacity: 0, onComplete: this.enterNamePlaceholder})
Run Code Online (Sandbox Code Playgroud)

和开玩笑的错误信息:

Expected value to be:
  <a class="callback__phone link" href="tel:88619442620">+7 (861) 944 26 20</a>
Received: …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing vue.js jestjs gsap

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

如何在Vue模板中显示异步数据

在显示异步加载的Vue模板数据的情况下,我很有趣。在我的特定情况下,我需要显示产品对象的标题属性:

<td class="deals__cell deals__cell_title">{{ getProduct(deal.metal).title }}</td>
Run Code Online (Sandbox Code Playgroud)

但是该产品当前未加载,因此标题根本不会呈现。我找到了一个可行的解决方案:如果未加载产品,则在解决诺言之后,请调用getProduct函数:

getProduct (id) {
  if (!this.rolledMetal.all.length) {
    this.getRolledMetal()
      .then(() => {
        this.getProduct(id)
      })
    return {
      title: ''
    }
  } else {
      return this.getRolledMetalById(id)
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,也许您知道更优雅的解决方案,因为我认为这有点复杂:)

javascript templates asynchronous vue.js

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

如何跳过诗歌中的证书验证?

我正在尝试使用添加新包poetry add,但它总是出现此错误:

HTTPSConnectionPool(host='10.140.240.64', port=443): Max retries exceeded with url: /api/v4/projects/118/packages/pypi/files/47f05b39ebe470235b70724fb049985ea75fad6c1a5007ad3462f3d430da338b/tg_client-0.1.10-py3-none-any.whl (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:1129)')))

谁知道如何跳过这个验证?

更新:

我尝试从私有存储库添加包:

[[tool.poetry.source]]
name = "my_package"
url = "https://..."
secondary = true
Run Code Online (Sandbox Code Playgroud)

也许这就是解决方案poetry config certificates.my_package.cert false不起作用的原因。

python ssl python-poetry

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

如何让 ImageField 返回相对路径?

我不知道为什么,但我的 ImageFields 返回完整的 URL 路径。

这是 MEDIA_URL 设置:

MEDIA_URL = '/cc/cc/media/'
Run Code Online (Sandbox Code Playgroud)

我使用这个自定义 FileStorage:

class ASCIIFileSystemStorage(FileSystemStorage):
    def get_valid_name(self, name):
        return str(uuid.uuid4()) + '.' + name.split('.')[-1]
Run Code Online (Sandbox Code Playgroud)

和简单的 ModelSerializers(来自 django rest 框架),而不会像模型 Module1Item 那样覆盖 smth:

class Module1Item(models.Model):
    ...
    background = models.ImageField(blank=True)


class Module1ItemSerializer(serializers.ModelSerializer):
    class Meta:
        model = Module1Item
        fields = '__all__'
Run Code Online (Sandbox Code Playgroud)

这些行为的原因是什么?我需要相对网址。

python django url imagefield django-rest-framework

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

如何在Django Rest Framework权限类中访问url参数?

我有一个观点:

class DealsView(APIView):
    permission_classes = (IsAuthenticated, IsOwnerOrCuratorOrDirectorOrNotAllowed, )

    def get(self, request, user_pk):
        ...
Run Code Online (Sandbox Code Playgroud)

但是为了正确检查权限,我需要将user_pk url参数传递给权限:

class IsOwnerOrCuratorOrDirectorOrNotAllowed(permissions.BasePermission):
    def has_permission(self, request, view):
        ...
Run Code Online (Sandbox Code Playgroud)

默认情况下,除了self,request和view外,它没有其他任何参数。我该怎么办?

python django permissions url-parameters django-rest-framework

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