gpt4 book ai didi

javascript - 使用静态模板标签在 Django 中加载 Javascript

转载 作者:行者123 更新时间:2023-12-03 02:24:01 24 4
gpt4 key购买 nike

我正在尝试按照 https://docs.djangoproject.com/en/2.0/howto/static-files/ 上的说明进行操作,但我遇到了意想不到的结果。我有一个带有应用程序 dashboard 的 Django 项目,如下所示:

.
├── dashboard
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── migrations
│   │   ├── 0001_initial.py
│   │   ├── 0002_auto_20180227_2103.py
│   │   ├── 0003_auto_20180227_2304.py
│   │   └── __init__.py
│   ├── models.py
│   ├── static
│   │   └── dashboard
│   │   └── dashboard.js
│   ├── templates
│   │   └── dashboard
│   │   ├── checkin_detail.html
│   │   ├── checkin_form.html
│   │   └── checkin_list.html
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── manage.py
└── my_project
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py

在我的项目的 settings.py 中,STATIC_URL 是由 django-admin startproject 创建的:

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.0/howto/static-files/

STATIC_URL = '/static/'

dashboard.js 文件是一个简单的测试脚本:

alert("Hello, world!");

我正在尝试在 checkin_form.html 模板中使用 Javascript,如下所示:

{% load static %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src={% static "dashboard/dashboard.js" %}></script>

<form action="" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Send message" />
</form>

我的 View 继承自 Django 的通用 View 类:

from django.views import generic
from .models import CheckIn


class CheckInCreate(generic.CreateView):
model = CheckIn
fields = '__all__'


class CheckInUpdate(generic.UpdateView):
model = CheckIn
fields = '__all__'

但是,当我导航到该 View 呈现的 URL 时,我没有看到带有“Hello, world!”的警报。有人可以向我指出这个配置/实现有什么问题吗?

最佳答案

此行中您需要更多引号

<script src={% static "dashboard/dashboard.js" %}></script>

应该是

<script src="{% static "dashboard/dashboard.js" %}"></script>

当您进行开发时,最好打开浏览器的开发工具 (F12) 并关闭缓存。

在生产中,如果您希望用户看到您的更改,则需要在每次内容更改时更改文件名。你可以这样做,例如通过添加版本号(即 dashboard-v1.0.0.js)。 js 世界中有很多工具可以进行缩小/版本控制等。为你。

关于javascript - 使用静态模板标签在 Django 中加载 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49034536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com