小编Pao*_*olo的帖子

是否可以使用目标对象分派精简的自定义事件?

是否可以createEventDispatcher像本机浏览器事件一样使用目标对象调度 svelte 事件(使用 创建)?

即在处理程序端接收event.target.value而不是 event.detail。

custom-events svelte

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

如何在 SvelteKit 中实现服务器发送事件 (SSE)?

如果不使用自定义 Express 服务器,我找不到 SvelteKit 的教程。有 API 端点的替代方案吗?

我尝试自己设置 API 端点,但无法让它在数据更改时发送更新。

node.js server-sent-events sveltekit

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

Wagtail:将图像添加到自定义用户模型

我正在按照 Wagtail 文档来自定义用户模型。我想将图像添加到用户模型中。

Django 版本:2.0.8,Wagtail 版本:2.1

问题

使用图像选择器字段选择图像并单击“保存”后,出现以下错误:

'没有提交文件。检查表单上的编码类型。”

代码

模型.py

from django.db import models

from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
    display_image = models.ForeignKey('wagtailimages.Image', 
        null=True,
        blank=True,
        on_delete=models.SET_NULL,
        related_name='+')
Run Code Online (Sandbox Code Playgroud)

表格.py

from django import forms
from django.utils.translation import ugettext_lazy as _

from wagtail.users.forms import UserEditForm, UserCreationForm
from wagtail.images.widgets import AdminImageChooser

class CustomUserEditForm(UserEditForm):
    display_image = forms.ImageField(
        widget=AdminImageChooser(), label=_('Autorenbild'))

class CustomUserCreationForm(UserCreationForm):
    display_image = forms.ImageField(
        widget=AdminImageChooser(), label=_('Autorenbild'))}
Run Code Online (Sandbox Code Playgroud)

编辑.html

{% extends "wagtailusers/users/edit.html" %}

{% block extra_fields %}
    {% include "wagtailadmin/shared/field_as_li.html" with field=form.display_image %}
{% …
Run Code Online (Sandbox Code Playgroud)

python django django-custom-user wagtail

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

Chrome 开发者工具控制台中的 BroadcastChannel 测试不起作用

我正在测试BroadcastChannel功能,但遇到了麻烦。我打开两个 Chrome 窗口以及每个窗口的开发工具。我在控制台上写:

const z = new BroadcastChannel('blarg')
z.onmessage = function (ev) {console.log(ev)}
Run Code Online (Sandbox Code Playgroud)

我可以检查 z ,它已将函数保存到 onmessage 属性中,因此一切看起来都不错。然而,当我测试时:

z.postMessage('sweet')
Run Code Online (Sandbox Code Playgroud)

在其中一个控制台中,另一个控制台中没有任何显示。我希望由于两个 Chrome 窗口都订阅了广播频道blarg,并且具有控制台记录发布消息的功能,因此我会看到该消息sweet显示在另一个控制台中,但没有任何反应。

那么两个问题:

我不能BroadcastChannel像这样在开发工具控制台中测试界面吗?

如果是这样,我对 BroadcastChannel 的工作原理缺少什么?

javascript broadcast-channel

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

排除 Ansible 清单中的主机子集

我有一组vm2-prod通过命名的主机vm14-prod。这些在 Ansible 主机清单中分组为vmware_hosts。我想排除这样的主机子集:

- name: testing play
  hosts: vmware_hosts:!vm[8-10]-prod
Run Code Online (Sandbox Code Playgroud)

根据 Ansible 文档,这似乎应该排除vm7-prod通过vm9-prod. 但是,我得到“无法匹配主机模式,忽略 vm[8-10]-prod”,就像它读取文字主机名“vm[8-10]-prod”而不是数组一样。

我也尝试过vm[8:10]-prod,但它给出了同样的错误。

怎么了?

ansible ansible-inventory

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

SvelteKit - 部署 - @sveltejs/adapter-static 不更新后备页面中的静态路径

我是第一次探索 SvelteKit,我构建了我的第一个简单应用程序,我想将其作为静态页面部署到我的 Apache 服务器

据我了解适配器静态是可行的方法,所以我安装了它并将我的svelte.config.js文件更改为:

import preprocess from 'svelte-preprocess';
import adapter from '@sveltejs/adapter-static';

/** @type {import('@sveltejs/kit').Config} */
const config = {
    preprocess: preprocess(),

    kit: {
        adapter: adapter({
            paths: { base: "/PERSONAL_PATH" },
            fallback: 'index.html',
            precompress: false,
        })
    }
};

export default config;
Run Code Online (Sandbox Code Playgroud)

现在:

运行npm run build没有任何错误,问题是当我检查index.html页面的所有依赖项(或者样式表和 JS 文件的 URL,如果你愿意的话......)时,有两个问题,如下所示:

  1. 具有绝对路径,这使得无法将页面源移动到任何其他位置
  2. 不在PERSONAL_PATH我希望的文件夹中

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <meta name="description" content="" />
        <link rel="icon" href="./favicon.png" />
        <meta …
Run Code Online (Sandbox Code Playgroud)

typescript svelte svelte-component svelte-3 sveltekit

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

如何在 django 中正确预填充文本区域?

我有一个相当烦人的问题:

在我的模板中

<div class="form-group">
    {{ form.aboutme.errors }}
    <label for="aboutme">About Me:</label>
    <textarea class="form-control" rows="10" id="aboutme" value="{{form.aboutme}}"></textarea>
</div>
Run Code Online (Sandbox Code Playgroud)

它呈现预先填充的文本区域,但带有值,但">在框的末尾打印冗余。

原始 html 看起来像这样:

<textarea class="form-control" rows="10" id="aboutme" value="<p><textarea cols=" 40"="" name="aboutme">My Name is Django</textarea>
Run Code Online (Sandbox Code Playgroud)

显然textarea其中插入了一个意想不到的标签。

该字段是:

 aboutme=models.TextField(blank=True, verbose_name=_('About Me'))
Run Code Online (Sandbox Code Playgroud)

并且在其各自的 ModelForm 类中没有用于它的特殊小部件。

那么真的很困惑如何正确渲染这个字段?

django django-templates

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

Angular 7自动刷新不记名令牌

我有一个 AuthService,主要有两种方法:

  • getAuthToken(返回 Promise,因此可以延迟调用/在单个集合上阻塞等待多次调用)

  • refreshToken(还返回一个 Promise,使用原始 JWT 上可用的刷新令牌来请求新的身份验证令牌)

我想自动

  • 将不记名令牌应用于每个 http 请求(工作)
  • 刷新时刷新令牌——我已经快到了,只是使用刷新令牌的请求结果不会返回到原始订阅者。

这是代码:

import { HttpEvent, HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from "@angular/common/http";
import { from, Observable } from "rxjs";
import { Injectable } from "@angular/core";
import { AuthService } from "./auth.service";

@Injectable()
export class AuthHttpInterceptor implements HttpInterceptor {
  constructor(
    private _authService: AuthService,
  ) {
  }

  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    return from(this.addBearerToken(req, next));
  }

  private async addBearerToken(req: HttpRequest<any>, next: HttpHandler): Promise<HttpEvent<any>> {
    const token = …
Run Code Online (Sandbox Code Playgroud)

authorization interceptor jwt bearer-token angular

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

当我更改 Django 管理中模型的字段时该怎么做?

我目前有一个调用is_active模型的布尔字段。每当我在 Django 管理中手动设置此字段True(最初它是 false)时,我希望它执行某个操作。当设置为 时,如何触发 Django 中的此字段来执行此特定操作True

我听说过一种save_model()方法,但我不知道它是如何工作的。

class Company(models.Model):
    name = models.CharField(max_length=100, unique=True)
    is_active = models.BooleanField(default=False)

    def __str__(self):
        return self.name
Run Code Online (Sandbox Code Playgroud)

django django-models django-admin django-views

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

Svelte商店功能更新

Svelte 存储文档显示正在更新字符串或整数,但我没有在存储中找到任何动态函数。

我不明白如何使该getData函数可写,以便通知 html 更改。

在下面的示例中,我希望在调用函数b后显示。updateKey

您可以在此处找到 REPL 中的最小代码:https://svelte.dev/repl/3c86bd48d5b5428daee514765c926e58 ?version=3.29.7

此处使用相同的代码,以防 REPL 宕机:

应用程序.svelte:

<script>
import { getData } from './store.js';
import { updateKey } from './store.js';
setTimeout(updateKey, 1000);
</script>

<h1>{getData()}!</h1>
Run Code Online (Sandbox Code Playgroud)

商店.js

import {setContext} from 'svelte';
import {writable} from 'svelte/store';

var data = {
    'a': 'a',
    'b': 'b'
};

var key = 'a';

export const getData = function() {
    return data[key];
}

export const updateKey = () => {
    key = 'b';
}
Run Code Online (Sandbox Code Playgroud)

目标是在商店中使用动态功能。

javascript svelte svelte-store svelte-3

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