Django:javascript需要调用一个python脚本,我把它放在什么位置?

拜伦·史密斯

我对 django 和文件位置非常困惑,我使用的是 django 1.10。但是在我的 static/(django-proj-name)/js/ 文件夹中(只是显示了我的 main.js 文件的方式,我需要调用 python 脚本,结合jquery tokeninput 插件。让我们调用脚本keywords.py

这个脚本需要调用一个模型的所有实例Keyword,所以我需要能够从我的模型文件中导入。

我对 django 有点缺乏经验,但是通过回顾我在夏天看到的一些项目,我开始相信包括线,from (django-proj-name).models import *是从模型导入的主要方式。这至少适用于我的 /management/commands/ 文件夹中的所有文件。

但是我尝试放入keywords.py我的静态文件夹只是因为我知道至少我可以使用{% static %}模板标签在 html 中查找文件。我在没有管理的情况下运行了文件。

Traceback (most recent call last):
  File "../../management/commands/import_statements.py", line 5, in <module>
    from gtr_site.models import *
  ImportError: No module named gtr_site.models

尽管我在 /management/commands/ 中有相同的输入行。这不会造成任何问题。

所以我没有把文件放在“正确”的文件位置......我没有把keywords.py放在

  1. 我知道如何从我的models.py 文件中从keywords.py 脚本的位置导入

  2. 我的 javascript 文件可以找到它并运行它而不会崩溃。此脚本需要能够从模型成功导入。

那么我应该把这个脚本放在哪里,或者我如何为它指定一个位置?

保罗·斯卡丁

假设您有一个需要以下格式数据的 js 库:

 {"results": [
    {"name": "Foo", "number": 1}, 
    ..., 
    {"name": "Bar", "number": 999}
 ]}

您启动了一个名为 myapi 的应用程序:

  $ django manage.py startapp myapi

假设你有一个这样的模型myapi/models.py

 from django.db import models

 class Foo(models.Model):
     name = models.CharField(max_lenght=100),
     number = models.IntegerField()

myapp/views.py定义以下视图:

from django.http import JsonResponse
from django.views import View
from .models import Foo

class FooList(View):
    def get(self, request, *args, **kwargs):
        qs = list(Foo.objects.values('name', 'number').all())
        data = {"results": qs}
        return JsonResponse(data)

然后将此视图映射到某个 url。为简单起见,让我们将其添加到您的主 urls.py 文件中:

url('api/v1/foo/$', FooList.as_view(), name='foo-list'),

现在您应该能够从浏览器访问它。下面的示例使用 jQuery:

$.getJSON('http://yourdomain.com/api/v1/foo/', 
    function(data, textStatus, jqXHR) {
        console.log(data);
    }
)

这就对了。我是凭记忆做到的,因此您可能会发现一些错误或缺少导入 - 但这应该会让您走上正轨。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么Promise构造函数需要一个在完成时调用“ resolve”但在“ then”中不需要的函数-它返回一个值呢?

为什么我要在一个空数组上调用GetType()但不能从函数返回它时调用

一个shell脚本(.sh),它调用另一个脚本调用的无限循环以在后台运行

Scikit学习(Python 3.5):我需要导入一个库来使它工作吗?

尝试在Haskell中编写函数,并根据-Wall,我需要一个匹配(_:_:_)_的模式_这个模式是什么意思,为什么我需要它?

在我的python脚本中调用另一个python函数时遇到importerror

我需要帮助,我想在代码中放入一个踢踢和禁止命令,但我不知道该把它放在哪里

我有一个crontab条目,它调用bash脚本。为什么$ USER返回空白?

需要“构建”一个mysql命令并在一个shell脚本中执行它

接收我从第一个Python脚本调用的第二个Python脚本的输出

为什么我的函数需要一个参数,以及如何使用+ without调用它?

PHP函数仅调用一个参数,而我需要它来调用一堆

我需要一个JavaScript for循环,它应该打印10到1像它应该仍然打印1

我可以问一个类,它需要什么类型的泛型?

我想用python脚本编写一个查询,最终将通过Django调用这些查询

javascript 数学函数:现在它形成一个圆,我需要做一个半圆

脚本在我本地调用它之前加载一个函数,但在它之后公开加载它

为什么我需要绑定一个通过同一个对象调用的阴影函数?

我需要将每个元素一个放在另一个下面,即使它适合下一个

为什么我需要明确包含一个 gem,因为它已经是我正在使用的另一个 gem 的依赖项?

为什么我需要一个 shell 脚本来在容器内运行 python 脚本?

如何将令牌功能放在一个文件中并导入我需要的位置

它向我展示了一个 TypeError 列表不可调用 [python]

我需要定义一个函数来输入一个值然后调用该函数并打印它

我使用 Python 制作了一个非常基本的脚本(我是新手),但我不知道为什么它不工作,因为它应该工作

为什么我需要一个 goroutine 才能让它工作?

为什么当我通过一个函数调用 axios 时它没有更新?

为什么它需要一个右值复制构造函数,即使它不会被调用?

为什么反应给我一个错误,它期望一个函数调用,而是得到一个表达式?