链接home.html中的静态文件

时间:2018-05-14 07:43:52

标签: django

我在home.html运行js文件时遇到问题

例如,假设我有以下文件:

home.html的

{% load static %} 
<head>
    <script src="{% static 'js/assets/jquery.js' %}"></script>
    <script src="{% static 'js/chatterbot/chatbot.js' %}"></script>
</head>

chatbot.js

$(function () {
   console.log('running');
}

我应该在加载主页时在控制台中获取运行消息,但我不知道。

settings.py 已定义静态网址

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
# Extra places for collectstatic to find static files.
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

urls.py

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url('accounts/', include('allauth.urls')),
    url(r'^$', Home.as_view(), name='home'),
    url(r'^api/chatterbot/', include(chatterbot_urls, namespace='chatterbot')),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

和项目结构

enter image description here

知道我可能做错了吗?

1 个答案:

答案 0 :(得分:0)

根据你的回复<StackLayout class="with-bottomnav"> <Repeater items="{{ items }}"> <Repeater.itemTemplate> <StackLayout class="repeat icon-next"> <Label text="{{ title }}"></Label> <Label text="{{ name }}"></Label> </StackLayout> </Repeater.itemTemplate> </Repeater> </StackLayout>

然后您的it returns 'F:\\artemis\\static路径错误。我猜你的staticBASE_DIR。因此,artemisSTATICFILES_DIRS。但是您的真实项目静态目录位于artemis/static/

因此,您应该将静态目录更改为artemis/artemis/static/,或者只在artemis/static中添加自己的静态路径。您只需添加绝对路径名称,或使用STATICFILES_DIRS即可。

检查here以获取更多信息。