我设计了一个页面,包括一个' index.html'还有一些css
和' js'单独文件夹中的文件。然后我决定将我的网页带到django
,以便我可以在我的网页中为某些内容添加数据库和一些管理系统。但我无法解决这个问题。这是我到目前为止尝试过的方式。
url.py
urlpatterns = patterns('',
# Examples:
url(r'^$', 'mysite.views.home', name='home'),
)
views.py
def home(request):
return render_to_response('index.html')
setting.py
TEMPLATE_DIRS = ('/var/www/html/mysite/templates',)
我已将index.html
个文件及其亲属文件夹放入templates
文件夹。但是当我运行服务器时,它显示我的主页而没有识别我的css
和' js'文件。
我想知道正确的方法是什么。 谢谢你的帮助。
- 更新1 -
所以参考this document我已经设置了像这样的静态文件
我已经创造了静态'我的项目ND中的文件夹在' setting.py'
中添加了一行PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))
STATIC_ROOT = os.path.join(PROJECT_PATH, 'static')
STATIC_URL = '/static/'
然后我转移了所有的&#c;'和' js'文件到该文件夹。
我将这两行添加到我的主页以检查它是否有效
{% load staticfiles %}
<img src="{% static "/img/b-img-4.jpg" %}" alt="My image"/>
我也试过这个命令
python manage.py collectstatic
这是新&#39;&#39;的错误行。我添加了标签。
[24/Dec/2014 19:27:29] "GET /img/b-img-4.jpg HTTP/1.1" 404 2163
- 更新2 -
我发现了我的错误。我改变了我的<img>
标签
<img src="{% static "admin/img/b-img-4.jpg" %}" alt="My image"/>
但问题是它只是识别其默认的静态文件和文件夹。我添加了自己的文件和文件夹并运行python manage.py collectstatic
但它没有显示我添加的新文件。
这是我的文件夹srtructure
mysite--
|
mysite
| |
| static
| |
| my css js files
|
templates
|
index.html
我做错了什么?
答案 0 :(得分:2)
你快到了,但你不应该把其他资源(JS,CSS,图像)放到模板文件夹中。这只适用于模板!您需要阅读静态文件docs:
https://docs.djangoproject.com/en/1.7/howto/static-files/
这是确保代码(包括模板 - 它们是一种服务器端代码)和资源的正确分离所必需的。
(如果你来自PHP背景,你可能会对此感到沮丧,因为它似乎比PHP更复杂,你可以将它们混合在一起。但是,PHP混合这些东西的方式是一个非常糟糕的主意,导致到multiple security vulnerabilities)。
答案 1 :(得分:1)
所以This blog让所有的一切都变得清晰,并且通过这些设置,我可以让它发挥作用
<强> setting.py 强>
STATIC_URL = '/static/'
PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))
STATIC_ROOT = os.path.join(PROJECT_PATH, 'static')
STATICFILES_DIRS = (
os.path.join(PROJECT_PATH, 'static_assets'),
)
<强>的index.html 强>
{% load static from staticfiles %}
<img src="{% static 'img/author.jpg' %}" alt="My image"/>
文件夹结构
mysite--
|
mysite
| |
| static
| |
| my css js files
|
static_assets
|
templates
|
index.html
答案 2 :(得分:0)
您的static
文件夹不在其应有的位置。试试这个:
mysite
static
js
css
images
b-img-4.jpg
如果您的图片放置在上面的树中,这应该有效:
<img src="{% static "images/b-img-4.jpg" %}" alt="My image"/>