Python 如何将预先设计的网页添加到django并添加我自己的静态文件
我设计了一个单独的页面,包括一个“index.html”和一些单独文件夹中的Python 如何将预先设计的网页添加到django并添加我自己的静态文件,python,html,django,Python,Html,Django,我设计了一个单独的页面,包括一个“index.html”和一些单独文件夹中的css和“js”文件。然后,我决定将我的网页转到django,这样我就可以在网页的某些内容中添加数据库和一个小的管理系统。但我不能解决这个问题。到目前为止,我就是这样尝试的 url.py urlpatterns = patterns('', # Examples: url(r'^$', 'mysite.views.home', name='home'), ) def home(request):
css
和“js”文件。然后,我决定将我的网页转到django
,这样我就可以在网页的某些内容中添加数据库和一个小的管理系统。但我不能解决这个问题。到目前为止,我就是这样尝试的
url.py
urlpatterns = patterns('',
# Examples:
url(r'^$', 'mysite.views.home', name='home'),
)
def home(request):
return render_to_response('index.html')
TEMPLATE_DIRS = ('/var/www/html/mysite/templates',)
<img src="{% static "images/b-img-4.jpg" %}" alt="My image"/>
视图.py
urlpatterns = patterns('',
# Examples:
url(r'^$', 'mysite.views.home', name='home'),
)
def home(request):
return render_to_response('index.html')
TEMPLATE_DIRS = ('/var/www/html/mysite/templates',)
<img src="{% static "images/b-img-4.jpg" %}" alt="My image"/>
设置.py
urlpatterns = patterns('',
# Examples:
url(r'^$', 'mysite.views.home', name='home'),
)
def home(request):
return render_to_response('index.html')
TEMPLATE_DIRS = ('/var/www/html/mysite/templates',)
<img src="{% static "images/b-img-4.jpg" %}" alt="My image"/>
我已将我的index.html
文件及其相关文件夹放入templates
文件夹。但当我运行服务器时,它会显示我的主页,而不会识别我的css
和'js'文件
我想知道怎样做才是正确的。
谢谢你的帮助
--更新1--
因此,我将静态文件设置为
我在项目中创建了“静态”文件夹,并在“setting.py”中添加了一行
PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))
STATIC_ROOT = os.path.join(PROJECT_PATH, 'static')
STATIC_URL = '/static/'
然后我把我所有的css和js文件转移到那个文件夹
我在我的主页上添加了这两行来检查它是否有效
{% load staticfiles %}
<img src="{% static "/img/b-img-4.jpg" %}" alt="My image"/>
这是我添加的新“”标记的错误行
[24/Dec/2014 19:27:29] "GET /img/b-img-4.jpg HTTP/1.1" 404 2163
--更新2--
我发现了我的错误。我像这样更改了我的
标签
我做错了什么?你就快到了,但你不应该把其他资源(JS、CSS、图像)放到templates文件夹中。这只适用于模板!您需要读取静态文件文档: 这是确保代码(包括模板——它们是一种服务器端代码)和资源正确分离所必需的
(如果你来自PHP背景,你可能会对此感到沮丧,因为它似乎比PHP更复杂,你可以将它们混合在一起。然而,PHP混合这些东西的方式是一个非常糟糕的想法,这会导致错误)。你的
静态
文件夹不是它应该在的地方。试试这个:
mysite--
|
mysite
| |
| static
| |
| my css js files
|
templates
|
index.html
如果您的图像如上面的树所示放置,则应该可以:
mysite
static
js
css
images
b-img-4.jpg
因此,这一切都非常清晰,通过这些设置,我可以让它正常工作
设置.py
urlpatterns = patterns('',
# Examples:
url(r'^$', 'mysite.views.home', name='home'),
)
def home(request):
return render_to_response('index.html')
TEMPLATE_DIRS = ('/var/www/html/mysite/templates',)
<img src="{% static "images/b-img-4.jpg" %}" alt="My image"/>
index.html
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'),
)
VoteUp。谢谢你的忠告。但是你能检查一下我的编辑吗?我想不出来,我guess@AlexJolig例如,您的静态url是错误的,请在那里放置/static/之类的内容,也不要在static之前放置/paths@DRC我将静态路径更改为这个>>
PROJECT\u path=os.path.realpath(os.path.dirname(\uu文件\uu))static\u ROOT=os.path.join(PROJECT\u path,“static”)静态URL='/STATIC/'
您将自己的静态文件放在哪里?它们应该在你的应用程序中的“静态”中(或者在PROJECT_path定义的路径中),最好是在文档建议的文件夹中。然后您应该让img标记为src=“{%static”yourapp/img/b-img-4.jpg“%}”您还不需要担心collectstatic,这是为了准备部署。在开发中,“manage.py runserver”会找到静态文件,如果你把它们放在正确的位置,我也试过了。但这样一来,它甚至无法识别自己的默认静态文件。如果我在img
文件夹中处理一个django默认图像,它就会工作。但是如果我用我的新图像做,它就不起作用了。你能提供一个django图像的例子(img标签)和一个你自己的图像吗?你的答案中的一个不起作用。因为它在我添加的文件夹中。但这很好,因为django将其添加到了静态文件夹中