小编Jac*_*022的帖子

Django - 无法从“解耦”导入名称“配置”

我正在尝试在本地运行这个项目,但是当我尝试时,manage.py makemigrations我不断收到以下错误:

ImportError: cannot import name 'config' from 'decouple'
Run Code Online (Sandbox Code Playgroud)

这是我的步骤:

  1. 从 github 克隆存储库
  2. 创建虚拟环境
  3. 安装依赖项

我做了一些研究,但我没有发现可能产生该错误的原因。任何人都可以帮我解决这个问题吗?提前致谢!我正在运行 Django 3。

python django python-3.x python-decouple

17
推荐指数
2
解决办法
2万
查看次数

如何在Flask中运行python脚本

我有一个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)

python flask

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

在 Django 的不同视图之间传递数据

我有一个基本视图,用于检索一些数据、呈现我的页面并将一些数据发送到此页面:

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 中的两个视图之间传递变量/数据吗?

python django django-forms django-views

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

实时动态更新 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)。我一直在深入研究它,但我不清楚它是如何处理这个特殊情况的。

python django ajax django-templates django-views

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

使用 Python-Requests 通过 Django 视图发送请求

我正在尝试在 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)

python django python-requests

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

我可以在同一个项目中使用 Django url 和 Vue 路由吗?

我启动了一个 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 应用程序。

javascript python django frontend vue.js

5
推荐指数
0
解决办法
403
查看次数

Nuxt SSR - i can't check if a user is authenticated

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 …

vue.js nuxt.js

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

在 Django 中找不到 account_login 的反向操作

我正在尝试将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 django django-urls django-views

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

无法加载库:cairo

尝试运行以下命令时,我不断收到此错误:

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错误。

我一直在一步一步地遵循指南,但它不起作用,我不断收到同样的错误,我搜索了各种解决方案,但没有一个解决了问题。有什么建议吗?提前致谢

python python-3.x weasyprint

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

如何实时更新 django 模板?

在这个模板中,我从 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 django django-templates django-views

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