STATIC_PATH = os.path.join(BASE_DIR,'static')STATIC_URL = '/static/' # You may find this is already defined as such.STATICFILES_DIRS = ( STATIC_PATH,)模板文件路徑TEMPLATE_PATH = os.path.join(BASE_DIR, 'templates')TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [TEMPLATE_PATH], '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', ], }, },]mysite工程中的urls.py中增加內容 url(r'^app1/', include('app1.urls')),app1中新增的urls.py中內容from django.conf.urls import patterns, urlfrom app1 import viewsurlpatterns = [ url(r'^$', views.index, name='index')]為了建立映射,我們用到了tuple.在Django里必須用urlpatterns來命名這個元組.這個urlpatterns元組包含一些django.conf.urls.url()函數的調用,而每個函數里都有一個唯一的映射.在上面的代碼里,我們只用了url()一次,所以我們只映射了一個URL.django.conf.urls.url()函數的第一個參數是正則表達式^$,指的是匹配一個空字符串.所有匹配這個模式的URL都會映射到views.index()這個視圖.用戶的請求信息會包含在HttpRequest對象里作為參數傳遞給視圖.我們給url()函數可選參數name賦值為index.index.html內容如下<!DOCTYPE html>{% load staticfiles %} <!-- New line --><html> <head> <title>SSOC</title> </head> <body> <h1>SSOC says...</h1> hello world! <strong>{{ boldmessage }}</strong><br /> <img src="{% static "images/lilies.jpg" %}" alt="Picture of app1" /> </body></html></html>首先,我們需要使用{% load static %}標簽來使用靜態媒體.所以我們才可以用{% static "rango.jpg" %在模板里調用static文件.Django模板標簽用{ }來表示.在這個例子里我們用static標簽,它將會把STATIC_URL和rango.jpg連接起來,如下所示.<img src="/static/images/rango.jpg" alt="Picture of Rango" /> <!-- New line -->如果因為什么原因圖片不能加載我們可以用一些文本來代替.這就是alt屬性的作用 - 如果圖片加載失敗就顯示alt屬性中的文本.好了,讓我們再次運行Django服務訪問http://127.0.0.1:8000/rango.幸運的話可以看到下圖.模板========================mysite├── app1│ ├── __init__.py│ ├── admin.py│ ├── migrations│ │ └── __init__.py│ ├── models.py│ ├── tests.py│ ├── urls.py │ ├── apps.py│ └── views.py├── templates │ ├── base.xml 新增│ ├── nav.xml 新增│ └── app1│ └── index.html新增├── static │ ├── images │ └── bootstrap ├── manage.py└── mysite ├── __init__.py ├── settings.py ├── urls.py └── wsgi.pyindex.xml{% extends 'base.html' %} {% block title %}My-SSOC{% endblock %} {% block content %} hello world! <p class="text-warning">kkkkkkkkkkkk warning class</p><p class="text-danger">fffffffff danger class</p>{% endblock %}base.html<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>{% block title %}SSOC{% endblock %} - wangyu</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/CSS/bootstrap.min.css" rel="stylesheet"> <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script> <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <body> {% include 'nav.html' %} {% block content %} <div>This is origin content</div> {% endblock %} </body></html>nav.html<nav class="navbar navbar-default" role="navigation"> <div class="container-fluid"> <div class="navbar-header"> <a class="navbar-brand" href="#">SSOC</a> </div> <div> <ul class="nav navbar-nav"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">haha<b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">a1</a></li> <li><a href="#">a22</a></li> <li><a href="#">Jaf Report</a></li> <li class="divider"></li> <li><a href="#">df</a></li> <li class="divider"></li> <li><a href="#">bg</a></li> </ul> </li> <li><a href="#">SVN</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">java<b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">jmeter</a></li> <li><a href="#">EJB</a></li> <li><a href="#">Jasper Report</a></li> <li class="divider"></li> <li><a href="#">divide</a></li> <li class="divider"></li> <li><a href="#">another</a></li> </ul> </li> </ul> </div> </div></nav>
新聞熱點
疑難解答