我正在尝试在本地运行这个项目,但是当我尝试时,manage.py makemigrations我不断收到以下错误:
ImportError: cannot import name 'config' from 'decouple'
Run Code Online (Sandbox Code Playgroud)
这是我的步骤:
我做了一些研究,但我没有发现可能产生该错误的原因。任何人都可以帮我解决这个问题吗?提前致谢!我正在运行 Django 3。
我有一个Flask脚本,可以创建网站并动态打印一些数据。-打印的数据应来自另一个python脚本。
我目前面临的问题是,如果我将执行python脚本的行放在执行Flask应用程序的行之前,它将运行Python脚本而不运行Flask;反之亦然。
Python脚本:
import websocket
from bitmex_websocket import Instrument
from bitmex_websocket.constants import InstrumentChannels
from bitmex_websocket.constants import Channels
import json
websocket.enableTrace(True)
sells = 0
buys = 0
channels = [
InstrumentChannels.trade,
]
XBTUSD = Instrument(symbol='XBTUSD',
channels=channels)
XBTUSD.on('action', lambda msg: test(msg))
def test(msg):
parsed = json.loads(json.dumps(msg))
print(parsed)
XBTUSD.run_forever()
Run Code Online (Sandbox Code Playgroud)
Flask脚本(注意:价格应为其他脚本的“解析”变量):
# Start with a basic flask app webpage.
from flask_socketio import SocketIO, emit
from flask import Flask, render_template, url_for, copy_current_request_context
from random import random
from time import …Run Code Online (Sandbox Code Playgroud) 我有一个基本视图,用于检索一些数据、呈现我的页面并将一些数据发送到此页面:
def myview(request)
one = values.objects.get(user=request.user).address
two = values.objects.get(user=request.user).number
return render(request, "main/mytemplate.html",
context={'address': one, 'numbers': two})
Run Code Online (Sandbox Code Playgroud)
因此,这两个查询检索到的值显示在我的页面上。
现在,在名为mytemplate.html的同一页面上,我正在使用另一个视图,该视图应该处理表单和其他一些操作:
def secondview(request):
if request.method == 'POST':
if 'button1' in request.POST:
form = MyForm(request.POST)
# check whether it's valid:
if form.is_valid():
profile = form.save(commit=False)
profile.user = request.user
profile.save()
return HttpResponseRedirect(request.path_info)
else:
form = MyForm()
return HttpResponse('it works!')
Run Code Online (Sandbox Code Playgroud)
如何在第二个视图中使用这两个查询检索到的数据?当第一个视图加载页面时执行查询。然后,在同一页面中使用第二个视图。我想用两个变量one,并two在第二视图。有没有办法在 Django 中做到这一点?
为什么不在第二个视图中进行相同的查询?因为我希望第二种形式在重新加载方面尽可能快,而不必每次使用该视图时都进行数据库查询。此外,由于我已经在打开页面时检索了这些值,因此再次这样做会很浪费。
我不知道这个问题是否足够清楚,但它的核心是:我可以在 django 中的两个视图之间传递变量/数据吗?
我正在构建一个将提供实时数据的 django 应用程序。我对 Django 相当陌生,现在我专注于如何实时更新我的数据,而不必重新加载整个页面。
一些澄清:实时数据应该定期更新,而不仅仅是通过用户输入。
看法
def home(request):
symbol = "BTCUSDT"
tst = client.get_ticker(symbol=symbol)
test = tst['lastPrice']
context={"test":test}
return render(request,
"main/home.html", context
)
Run Code Online (Sandbox Code Playgroud)
模板
<h3> var: {{test}} </h3>
Run Code Online (Sandbox Code Playgroud)
我已经问过这个问题,但我有一些疑问:
有人告诉我使用 Ajax,这没问题,但是 Ajax 是否适合这种情况,我将每 x 秒加载一个包含实时更新数据的页面?
我还被告知使用 DRF(Django Rest Framework)。我一直在深入研究它,但我不清楚它是如何处理这个特殊情况的。
我正在尝试在 Django 项目上创建一个简单的微服务结构:因此,当调用某个 Django 视图时,该视图将向包含一些用户数据的 Flask 微服务发送 JSON post 请求;Flask 微服务应该接收请求,获取该用户的数据并再次使用 Requests 将一些附加数据发送回 Django,以便我的 Django 视图可以接收该数据并执行一些操作,例如将其显示给用户。
现在我只是发送一些虚拟数据,以测试整个系统(Django > request to Flask > Flask > Request to Django)是否有效,但我遇到了一些问题。
为了调试我的代码,我试图打印收到的数据。这是我的观点:
def myView(request):
mydict = {}
# The request is sent to my external Python script..
req = requests.post('http://127.0.0.1:5000/', json={"one": 1}) # Some dummy data
# .. Once the external script sends back a request with data, this should handle it
if request.method == 'POST':
# The data is inside this variable
data …Run Code Online (Sandbox Code Playgroud) 我启动了一个 Django 应用程序,并使用 Django-Allauth 创建了整个身份验证层,它已经具有相当多的功能,例如电子邮件确认、密码重置和两因素身份验证。现在我意识到,由于我的应用程序将高度交互并且具有许多实时功能,我将需要一个 Vue SPA 与 Django 一起使用,所以我正在考虑在同一台服务器上创建 Vue SPA 并且域并将 Django 作为 Rest API。
这是我的问题:由于我已经使用 Django 模板和 Django url 制作了整个身份验证部分,如果我将前端的其余部分与后端分开,我是否必须重写所有内容?是否可以将 Vue 应用程序和 Django 后端应用程序分开在同一个域中,其中身份验证由 Django 模板处理,其余的都是带有 vue 路由的 Vue 应用程序,所有其他交互都由 Django Rest Framework 端点处理?
所以也许是这样的:
urlpatterns = [
path('accounts/signup/', SignUpView.as_view(), name='signup'), #Django template
path('accounts/login/', LoginView.as_view(), name='login'), #Django template
...
]
Run Code Online (Sandbox Code Playgroud)
这些是页面由 Django 视图呈现的唯一 Django 处理的 url。用户登录后,他们将被重定向到 VueJS 应用程序。
I'm trying to work on a Nuxt SSR frontend that uses a Django backend with Session Authentication. I would like to have some SSR pages as well as client rendered pages in my frontend, so i'm using Universal mode.
The problem is that i did not find a working approach to check if a user is authenticated before loading a page, so i can't restrict pages to anonymous users. In order to check if a user is authenticated, Django …
我正在尝试将django-allauth包中的注册视图添加到我的 Django 项目中。
我将视图添加到我的urls.py文件中,但我不断收到以下错误:
Reverse for 'account_login' not found. 'account_login' is not a valid view function or pattern name.
Run Code Online (Sandbox Code Playgroud)
以下是我将视图添加到我的网址的方法:
from allauth.account.views import SignupView
urlpatterns = [
path("signup/", SignupView.as_view(), name="account_signup"),
]
Run Code Online (Sandbox Code Playgroud)
我真的不明白导入视图时缺少什么,有人可以帮助我吗?
尝试运行以下命令时,我不断收到此错误:
python -m weasyprint http://weasyprint.org weasyprint.pdf
Run Code Online (Sandbox Code Playgroud)
错误:
raise OSError("dlopen() failed to load a library: %s" % ' / '.join(names))
OSError: dlopen() failed to load a library: cairo / cairo-2 / cairo-gobject-2 / cairo.so.2
Run Code Online (Sandbox Code Playgroud)
我使用pip install weasyprint. 要安装 cairo,我使用了这个文档:https : //weasyprint.readthedocs.io/en/latest/install.html
但是,在指南的最后,当我尝试运行时WHERE libcairo-2.dll出现not found错误。
我一直在一步一步地遵循指南,但它不起作用,我不断收到同样的错误,我搜索了各种解决方案,但没有一个解决了问题。有什么建议吗?提前致谢
在这个模板中,我从 API 中检索比特币的价格。在实际时刻,价格只会在页面刷新时更新,而我希望它在不刷新整个页面的情况下动态更新。
这是我的观点:
def home(request):
symbol = "BTCUSDT"
tst = client.get_ticker(symbol=symbol)
test = tst['lastPrice']
context={"test":test}
return render(request,
"main/home.html", context
)
Run Code Online (Sandbox Code Playgroud)
模板的行看起来像这样:
<h3> var: {{test}} </h3>
Run Code Online (Sandbox Code Playgroud)
这里有两个问题:
1)据我所知,Django 本身不是异步的,所以我需要找到一种方法来实时更新模板的那部分,而不必刷新整个页面。
2) 在实际时刻,API 在页面打开/刷新时被请求,但要流式传输价格,它应该始终运行。我尝试了这个(糟糕的)解决方案:while true在视图中添加一个,但当然它破坏了我的代码,只执行 while 语句的部分。
任何建议表示赞赏:)
python ×9
django ×7
django-views ×4
python-3.x ×2
vue.js ×2
ajax ×1
django-forms ×1
django-urls ×1
flask ×1
frontend ×1
javascript ×1
nuxt.js ×1
weasyprint ×1