【发布时间】:2016-07-18 20:14:24
【问题描述】:
我使用的是 Django 1.8,并且在运行开发 Django 服务器时无法显示我的 JavaScript 和 CSS。我认为主要问题是没有很好地理解将我的静态根目录和静态根目录设置为什么。我注意到,当我创建 Django 项目和应用程序时,我的文件夹/文件路径的创建方式与其他路径不同。我会将我的 STATIC_ROOT 和 STATICFILES_DIR 分配给什么?
Settings.py:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(_file_)))
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Myapp'
)
ROOT_URLCONF = 'MyProject.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates' )],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
MEDIA_ROOT = os.path.join(BASE_DIR, "media/")
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static")
urls.py:
from django.conf.urls import include, url
from django.contrib import admin
from Myapp.views import startpage
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
# Examples:
# url(r'^$', 'MyProject.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^$', startpage)
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
views.py:
from django.shortcuts import render, render_to_response
# Create your views here.
def startpage(request):
return render_to_response('htmlpage.html');
这是我当前的目录:
C:\Users\Me\DjangoProjects\
|-----MyProject\
|------MyApp\
|----_init_.py
|----admin.py
|----models.py
|----tests.py
|----views.py
|----_pycache_\
|----migrations\
|------MyProject\
|----_init_.py
|----settings.py
|----urls.py
|----wsgi.py
|----_pycache_\
|------staticfiles\
|------templates\
|----htmlpage.html
|------db.sqlite3
|------manage.py
我也不知道将我的 JSON 文件放在哪里,因为我正在使用 jquery/javascript 从 JSON 文件中获取数据。另外,我的 javascript 代码嵌入在我的 html 文件中,可以吗,还是我需要制作一个单独的 javascript 文件?
任何帮助将不胜感激。谢谢。
进行了更新。
【问题讨论】:
-
对于你的静态文件,你需要添加一个额外的 urlpattern(在 dev env 中):static(settings.STATIC_URL, document_root=settings.STATIC_ROOT), here in the doc
-
我添加了额外的 URL 模式。我只是想弄清楚如何在我的 HTML 文件中显示我用嵌入式 JavaScript/JQuery 抓取的 JSON 文件数据
标签: javascript jquery python json django