Jquery不从静态文件加载



这是我的项目结构:

pack
├── mysite
│   ├── blog
│   │   ├── admin.py
│   │   ├── apps.py
│   │   ├── __init__.py
│   │   ├── migrations
│   │   ├── models.py
│   │   ├── __pycache__
│   │   ├── tests.py
│   │   └── views.py
│   ├── db.sqlite3
│   ├── manage.py
│   ├── mssql_app
│   │   ├── admin.py
│   │   ├── apps.py
│   │   ├── forms_old.py
│   │   ├── forms.py
│   │   ├── __init__.py
│   │   ├── migrations
│   │   ├── models.py
│   │   ├── models.txt
│   │   ├── __pycache__
│   │   ├── routers.py
│   │   ├── templates
│   │   ├── tests.py
│   │   ├── urls.py
│   │   ├── views_old.py
│   │   └── views.py
│   ├── mysite
│   │   ├── __init__.py
│   │   ├── __pycache__
│   │   ├── settings.py
│   │   ├── urls.py
│   │   └── wsgi.py
│   └── static
│       ├── admin
│       └── js
└── jquery-3.1.1.min.js
└── venv

settings.py中有:

STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'mysite/static')
]
STATIC_ROOT = os.path.join(BASE_DIR, "static/")

我试图加载jquery在~/pack/mysite/mssql_app/templates/base.html如下:

{% load static %}<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 
<script src="{% static 'js/jquery-3.1.1.min.js' %}"></script>


<title>{% block title %}Packing{% endblock %}</title>
</head>

但是python manage.py runserver写:

"GET /static/js/jquery-3.1.1.min.js HTTP/1.1" 404 1690

~/pack/mysite/mysite/urls.py

from django.contrib import admin
from django.urls import path
from django.conf.urls import url, include
urlpatterns = [
path('admin/', admin.site.urls),
url(r'', include('mssql_app.urls')),
]

~/pack/mysite/mssql_app/urls.py

from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.show, name ='show'),
url(r'create', views.create, name ='create'),
url(r'save_pw', views.save_pw, name ='save_pw'),
]

我该如何修复它?

@Lakshyaraj Dash的解决方案有所帮助,但jquery在与apache2一起部署项目时不起作用。有没有一些通用的设置在部署后也能工作?或者部署应用程序时要做什么步骤(关于静态文件)?

在STATICFILES_DIRS中写下

STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static/')
]

保留一个配置STATICFILES_DIRS或STATIC_ROOT。

静态根只能在debug为false时使用。

最新更新