您的位置:首页 > 编程语言 > Go语言

管理Django1.9静态文件static

2017-08-09 00:00 786 查看
网站通常需要增加图片、JavaScript、或者CSS等文件提供服务。在Django中,我们把这些文件称为“静态文件”(static files)。Django提供django.contrib.staticfiles(Python目录)来帮助你管理他们。 下面就来告诉你如何使用它。

配置静态文件

1.确定django.contrib.staticfiles 在你的INSTALLED_APPS

2.在settings.py中定义你STATIC_URL,举个例子:

STATIC_URL = '/static/'

3.在你的项目中,static文件的目录如下图所示。举个例子:



即yourapp/static/yourapp/yourstaticfiles

4.在你的html中调用,如下图所示:



官方文档

Managing static files (e.g. images, JavaScript, CSS)

Websites generally need to serve additional files such as images, JavaScript, or CSS. In Django, we refer to these files as “static files”. Django provides
django.contrib.staticfiles
to help you manage them.

This page describes how you can serve these static files.

Configuring static files

Make sure that
django.contrib.staticfiles
is included in your INSTALLED_APPS

In your settings file, define STATIC_UR, for example:
STATIC_URL = '/static/'


In your templates, either hardcode the url like
/static/my_app/myexample.jpg
or, preferably, use the
static
template tag to build the URL for the given relative path by using the configured STATICFILES_STORAGE storage (this makes it much easier when you want to switch to a content delivery network (CDN) for serving static files).
{% load staticfiles %}
<img src="{% static "my_app/myexample.jpg" %}" alt="My image"/>


Store your static files in a folder called
static
in your app. For example
my_app/static/my_app/myimage.jpg
.

具体设置:

setting:

ALLOWED_HOSTS = ['*']

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(__file__),'static')
# Additional locations of static files
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute pat
7fe0
hs, not relative paths.
os.path.join(os.path.dirname(__file__), '../static/').replace('\\','/'),
)

view.py:

import json
import os
from django.http import StreamingHttpResponse, HttpResponse
from django.shortcuts import render
from dwebsocket.decorators import accept_websocket
def gotoIndex(request):
return render(request, 'index.html')

clients = []
@accept_websocket
def echo(request):
if request.is_websocket:
try:
clients.append(request.websocket)
for message in request.websocket:
print message
me=eval(message)
print type(me)
print me["name"]
if not message:
break
for client in clients:
print client
client.send(message)
finally:
clients.remove(request.websocket)

urls.py:

from django.conf.urls import url
from django.contrib import admin
from HelloWorld.views import gotoIndex,echo
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.contrib import staticfiles
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/$', gotoIndex, name='index'),
url(r'^echo$', echo,name='echo'),
]
urlpatterns += staticfiles_urlpatterns()

index.html:

<script type="text/javascript" src="../static/js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="../static/js/bootstrap.min.js"></script>
<script type="text/javascript" src="../static/js/echarts.min.js"></script>

{% load staticfiles %}
<link href="{% static 'css/bootstrap-theme.min.css' %}" rel="stylesheet" type="text/css">
<link href="{% static 'css/bootstrap.css' %}" rel="stylesheet" type="text/css">
<link href="{% static 'css/index.css' %}" rel="stylesheet" type="text/css">

文件结构:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息