4
可悲的django初學者在某些視圖中獲得了靜態文件(css,js)的阻擋問題。主要是,在主頁上,這些靜態文件是完全可訪問的,但在不同的頁面上,它不會和佈局完全打破。django {{STATIC_URL}}有時不起作用
這是我的settings.py:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'bands',
'lyrics',
'articles',
)
PROJECT_DIR = os.path.dirname(__file__)
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_DIR, "static"),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
這是我的基地通用模板的一部分,該意見擴大:
<link rel="Shortcut icon" href="{{ STATIC_URL }}img/favicon32.png" />
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/bootstrap.css">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.1/jquery-ui.min.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}js/sortable.js"></script>
在呈現時,它返回這樣的代碼(這是我想要):
<link rel="Shortcut icon" href="/static/img/favicon32.png" />
<link rel="stylesheet" type="text/css" href="/static/css/bootstrap.css">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.1/jquery-ui.min.js"></script>
<script type="text/javascript" src="/static/js/sortable.js"></script>
這是主頁視圖(靜態文件工作的那個)的代碼:
def slider(request):
context = Context ({ 'articles': Article.objects.order_by('-created_at')[:5] })
return render(request, 'articles/slider.html', context)
,這是不訪問靜態文件的視圖(它使用在Django文檔中發現分頁爲例):
def archive(request, page="1"):
articles_list = Article.objects.all().filter(active=True)
paginator = Paginator(articles_list, 6)
try:
articles = paginator.page(page)
except PageNotAnInteger:
articles = paginator.page(1)
except EmptyPage:
articles = paginator.page(paginator.num_pages)
context = Context({
'articles': articles
})
return render_to_response('articles/archive.html', context)
如果任何人有一個猜測可能是錯誤的,請讓我知道。
當前項目的代碼可作爲github repo。
就是這樣 - 謝謝! – ducin 2013-03-19 08:45:00