我有一个关于Django上下文渲染的简单(我认为)问题。
我将直接进入-
基本上我需要的是一些临时表,在我的情况下,我称为Locked。当用户按下按钮(一种形式)时,该对象将直接进入表Locked(只是一个简单的插入)。在该表的内部有一个名为is_locked的字段,如果该字段为True,则该对象需要变灰,或在html表中具有一些锁定图标。
只是某种可见的标志,即对象位于表Locked内,而另一个用户无法访问它。
但是,我的问题是,由于在我的views.py中,我的 lock 函数未返回要渲染该储物柜图标的确切html,而是返回了另一个html。
有没有办法在2个html页面上呈现相同的上下文?谢谢。
这是我的代码:
ERROR: C:\Users\elico\Documents\React workspace\pi-preperation\src\App.tsx: Unexpected token (27:20)
25 | switch (view) {
26 | case MainReducerSlice_1.ViewShown.Home:
> 27 | return (<HomePage_1.default />);
| ^
28 | case MainReducerSlice_1.ViewShown.Login:
29 | case MainReducerSlice_1.ViewShown.Register:
30 | return (<LoginPage_1.default />);
STACK: SyntaxError: C:\Users\elico\Documents\React workspace\pi-preperation\src\App.tsx: Unexpected token (27:20)
25 | switch (view) {
26 | case MainReducerSlice_1.ViewShown.Home:
> 27 | return (<HomePage_1.default />);
| ^
28 | case MainReducerSlice_1.ViewShown.Login:
29 | case MainReducerSlice_1.ViewShown.Register:
30 | return (<LoginPage_1.default />);
at Parser.raise (C:\Users\elico\Documents\React workspace\pi-preperation\node_modules\@babel\parser\lib\index.js:6975:17)
at Parser.unexpected (C:\Users\elico\Documents\React workspace\pi-preperation\node_modules\@babel\parser\lib\index.js:8368:16)
at Parser.parseExprAtom (C:\Users\elico\Documents\React workspace\pi-preperation\node_modules\@babel\parser\lib\index.js:9627:20)
at Parser.parseExprSubscripts (C:\Users\elico\Documents\React workspace\pi-preperation\node_modules\@babel\parser\lib\index.js:9210:23)
at Parser.parseMaybeUnary (C:\Users\elico\Documents\React workspace\pi-preperation\node_modules\@babel\parser\lib\index.js:9190:21)
at Parser.parseExprOps (C:\Users\elico\Documents\React workspace\pi-preperation\node_modules\@babel\parser\lib\index.js:9056:23)
at Parser.parseMaybeConditional (C:\Users\elico\Documents\React workspace\pi-preperation\node_modules\@babel\parser\lib\index.js:9029:23)
at Parser.parseMaybeAssign (C:\Users\elico\Documents\React workspace\pi-preperation\node_modules\@babel\parser\lib\index.js:8975:21)
at Parser.parseParenAndDistinguishExpression (C:\Users\elico\Documents\React workspace\pi-preperation\node_modules\@babel\parser\lib\index.js:9765:28)
at Parser.parseExprAtom (C:\Users\elico\Documents\React workspace\pi-preperation\node_modules\@babel\parser\lib\index.js:9548:21)
Failed to collect coverage from C:\Users\elico\Documents\React workspace\pi-preperation\src\component\home-page\HomePage.tsx
ERROR: C:\Users\elico\Documents\React workspace\pi-preperation\src\component\home-page\HomePage.tsx: Unexpected token (32:12)
我可以提供更多代码,但是我认为对于这种类型的问题并不重要,因为所有逻辑都发生在 lock 函数内部,最后两个返回值。
答案 0 :(得分:1)
我只是简要概述了您的摘要,如果不能帮助您,但您需要稍作回顾。
您在锁定模型的实例上调用DoesNotExist
if opp_locked.DoesNotExist: [...]
那不是您应该使用this exception的方式。
您有一种方法.exists()
可用,但仅适用于Querysets
。
如果您的实例不存在,则在使用Http404
方法时也会返回get_object_or_404()
响应。
也许您应该避免在实例之间共享主键,而应将它们替换为models.OneToOneField
(OneToOnefield)
答案 1 :(得分:0)
因为我没有答案,所以我在Locked模型中添加了一个新字段is_locked,它就解决了。