我在Laravel的POST表单中遇到了一个奇怪的问题.
发送帖子请求时,我的Laravel会抛出一个MethodNotAllowedHttpException.在查看错误消息时,我可以看到Laravel认为我的请求是GET请求,但事实并非如此.
在查看错误的POST数据和GET数据时,Laravel似乎认为它们都是空的.这让我有点困惑,因为似乎某种重定向正在进行,错误的HTTP_REFERER是我发布的页面.
我之前遇到过这个问题,其中一个命名路由解决了我的问题,但我正在创建一个简单的CMS,因此使用了一个表单的模板,并且我不可能使用命名路由,而不允许用户使用使用Blade语法这是一个坏主意.
我的路线如下(简化为"Hello world"):
Route::post('/signup/add', function(){
echo "Hello world";
});
Run Code Online (Sandbox Code Playgroud)
http://pastebin.com/EsAeyHFx < - 完整routes.php
http://pastebin.com/ByHdUFcK < - 我的表格.没有什么花哨的,只有纯文本/ radiobuttons输入.没有HTML或任何特殊的东西.
更奇怪的是,我有另一种形式(登录表单)不会导致这种行为.
我一直在关注StackOverflow上的其他几个问题,但它们似乎最终都是将POST数据发送到GET路由的错误.这不是我的情况.
如果我将路由从POST改为GET,它可以正常工作.
我也尝试将表单的操作更改为GET并使用隐藏字段_method并将其设置为post - 没有成功.
有人可以告诉我这个例外是怎么回事以及如何修复它?
补充:经过一些实验,我发现当使用第三方软件(如Chrome扩展名Postman)并向页面发送POST请求时,它可以按照预期运行.
iTerm 2
在终端( on )中使用向上和向下箭头时Mac OS Catalina
,我可以使用向上和向下箭头浏览最后的命令。
我使用ZSH
(Oh-my-zsh
准确地说),如果我输入 例如vim
然后按向上键,它将浏览我的历史记录以查找以 开头的任何命令vim
。
我觉得必须将手移到箭头键上很烦人,所以我想绑定ctrl-j
并ctrl-k
上下浏览。
我看着bindkey
并绑定^j
到down-history
和^k
到up-history
。这允许我浏览我的历史记录,但不能使用“智能”功能(我不确定这里的术语是否正确) - 它只是在我的历史记录中上下移动,而不考虑我的输入。
我已经浏览了手册上的标准小部件Zsh Line Editor
,但我找不到正确的命令。
我应该绑定哪个命令^j
来^k
获得我想要的结果?
我对Python很新,因此也是Peewee.
我有一个真正简单的脚本设置,给我错误AttributeError: 'module' object has no attribute 'Model'
- 谁能告诉我为什么?
我有以下脚本:
import peewee
from peewee import *
print dir(peewee)
class User(peewee.Model):
username = peewee.CharField()
Run Code Online (Sandbox Code Playgroud)
我试着与这两个用户类peewee.Model
和公正的Model
,因为我已经发现了大约一个类似的错误,这表示它可能是这个问题以前的一些问题,但它似乎并没有在我的情况.我NameError: name 'Model' is not defined
只在使用时得到另一个错误()Model
我已将我的小便更新到最新版本(sudo pip intall -U peewee
)
print dir(peewee)
给我的['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'peewee']
.我发现这有点奇怪,因为导入数学然后dir(数学)给了我数学的功能.完整的堆栈是
Traceback (most recent call last):
File "peewee.py", line 1, in <module>
import peewee
File "/home/ubuntu/python/test/peewee.py", line 6, in <module>
class User(Model):
NameError: name …
Run Code Online (Sandbox Code Playgroud)