小编Céd*_*pay的帖子

创建虚拟环境(Python)中"virtualenv"和"-m venv"之间的区别是什么

对不起,如果我听起来有点愚蠢.我很困惑这两个
virtualenv myvenv

-m venv myvenv之间的区别
第一个在创建虚拟环境时适合我,而另一个不适用.
我将CD放入我的开发目录并使用" virtualenv myvenv "并创建虚拟环境.但如果我使用" -m venv myvenv ",它只会出错.请帮我理解

python virtualenv

9
推荐指数
2
解决办法
3950
查看次数

如何使相对 Href 在 SvelteKit 中工作?

我想使用 SvelteKit 构建一个 Web 应用程序,其中一页列出所有项目(带有潜在的搜索查询参数),然后一页列出每个单独的项目。如果我必须用后端生成的所有内容以老式方式构建它,我的路径将是/items/所有项目的列表以及/items/123item123等。也就是说,要转到 item 的页面123,链接将带有href="123"will无论您当前处于索引 ( /items/) 还是某一特定项目的页面 ( /items/[id]),都可以工作。

使用 SvelteKit,如果我创建文件routes/items/index.svelteroutes/items/[id].svelte,那么routes/items/index.svelte将有路径/items没有尾部斜杠,因此 的链接href="123"将导致/123,导致“未找到”错误。

但是,该链接可以在单个项目的页面上使用,例如/items/456

这与传统 HTML 模型中的情况截然不同,在传统 HTML 模型中,来自/items/(或/items/index.html) 的链接与来自 的链接的工作方式相同/items/[id].html

现在,您可以设置svelte.config.js一个选项,使其对应于 path ,但随后有了 path ,我们又遇到了同样的问题:一个值无法同时在索引和单个项目的页面中工作。trailingSlashalwaysroutes/items/index.svelte/items/routes/items/[id].svelte/items/[id]/href

我现在看到的唯一方法是使用绝对路径,但它不是很可组合。我的猜测是我做错了什么。

href svelte sveltekit

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

使用 origin 和 x-forwarded 时,开发模式下 SvelteKit 出现“禁止跨站点 POST 表单提交”错误

我有一个 SvelteKit 应用程序运行在http://localhost:5173(进行本地开发时),前面有一个 Nginx 运行在http://localhost:8057,提供一些静态文件和代理请求,这些请求必须由 SvelteKit 处理。

我有一个登录表单,http://localhost:8057/login当我提交它时,我得到一个网页,其中只有“禁止跨站点 POST 表单提交”

我尝试使用ORIGIN环境变量,按照禁止跨站点 POST 表单提交https://kit.svelte.dev/docs/adapter-node#environment-variables。这是我的.env文件:

ORIGIN=http://localhost:8057
Run Code Online (Sandbox Code Playgroud)

env如果我从import { env } from '$env/dynamic/private';服务器端登录,我可以在我的环境中看到这个环境变量。但我仍然得到“禁止跨站点 POST 表单提交”

我还尝试在启动 SvelteKit (使用 )时传递环境变量ORIGIN=http://localhost:8057 npm run dev,但结果相同。

因为 SvelteKit 在发送此错误时不会记录太多内容,所以我只能尝试猜测 SvelteKit 内部发生了什么,但如果在 Nginx 中我添加它,那么proxy_set_header Origin http://localhost:5173;它就可以工作,所以很清楚 SvelteKit 在这里期望什么。但我不想这样做,因为它几乎相当于禁用 CSRF 保护。

然后我尝试使用https://kit.svelte.dev/docs/adapter-node#environment-variables中建议的其他方法,即使用x-forwarded-protox-forwarded-host,所以现在这是我的.env文件(我再次可以肯定地看到如果我将这些值记录在我的应用程序中):

PROTOCOL_HEADER=x-forwarded-proto
HOST_HEADER=x-forwarded-host
ORIGIN=http://localhost:8057
Run Code Online (Sandbox Code Playgroud)

在我的 …

csrf cross-domain sveltekit

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

如果默认 shell 是 fish,tmux 将不会启动

我已经tmux并且fish都通过aptUbuntu 19.04 (Disco Dingo) 安装。

tmux开箱即用bash,但它使用并且我希望它fish用作默认外壳。

因此,我将以下行放入~/.tmux.conf

~$ cat .tmux.conf
set-option -g default-shell fish
Run Code Online (Sandbox Code Playgroud)

但随后tmux将不再启动,而是打印出奇怪的字符并死掉:

~$ tmux
[exited]
~$ [?65;1;9c
Run Code Online (Sandbox Code Playgroud)

(注意:奇怪的字符不是我输入的,它们最终出现在我的光标之前)

请注意,如果我删除~/.tmux.conf (然后tmux开始使用 bash 并且运行良好),我可以通过fishbash.

知道发生了什么以及我如何解决这个问题吗?

fish tmux

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

标签 统计

sveltekit ×2

cross-domain ×1

csrf ×1

fish ×1

href ×1

python ×1

svelte ×1

tmux ×1

virtualenv ×1