模板html
建立項目前端
初始化項目python
django-admin startproject tmpl cd tmpl python manage.py startapp learn
修改tmpl/settings.pydjango
ALLOWED_HOSTS = [ '虛擬機ip地址', 'www.mysite.com' ] INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'learn', )
在learn目錄下新建templates文件夾session
cd templates touch index.html
index.html內容以下:app
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>TMPL Index</title> </head> <body> <div>TMPL Index</div> </body> </html>
修改learn/views.py
修改以下:url
from django.shortcuts import render def home(request): return render(request, 'index.html')
修改tmpl/urls.py
修改以下:code
from django.conf.urls import url from django.contrib import admin from learn import views as learn_views urlpatterns = [ url(r'$', learn_views.home, name='home'), # 新增 url(r'^admin/', admin.site.urls), ]
備註:若是有多個應用時,能夠在templates文件夾下新建一個learn文件夾,把模板文件index.html移動到templates/learn/下,views.py中的home方法也須要做出相應的修改:server
def home(request): return render(request, 'learn/index.html')
這樣作的目的是,讓Django可以正確查找到home.htmlhtm
模板繼承
在templates/learn新建base.html,內容以下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>{% block title %} 默認標題{% endblock %}</title> </head> <body> {% block content %} <div>這裏是默認內容區</div> {% endblock %} </body> </html>
修改index.html, 修改以下:
{% extends 'learn/base.html' %} {% block title %} 首頁 {% endblock %} {% block content %} <div> 這裏是首頁 </div> {% endblock %}
運行
python manage.py runserver 0.0.0.0:8000
主機訪問:www.pyl.com:8000 ,輸出:這裏是首頁
感受 寫習慣了前端,以爲模板繼承寫起來好麻煩,還要加{% %}和標記開頭和結束,jade模板語法很好看,要是Python模板的語法也那樣就行了