初學Django:建立第一個項目+使用模板

1. 建立一個項目html

以前在Anaconda 3裏面用命令行安裝了Django以後,有了可用的管理工具django-admin.py正則表達式

(1)用django.admin.py來建立一個項目Helloworlddjango

(2)查看項目的目錄結構windows

由於是windows環境,因此只展現了一層。瀏覽器

(3)在目錄下輸入命令啓動服務器服務器

 啓動正常函數

 

(4)視圖和URL配置工具

在先前建立的 HelloWorld 目錄下的 HelloWorld 目錄新建一個 view.py 文件,並輸入代碼:url

1 from django.http import HttpResponse
2 
3 def hello(request):
4     return HttpResponse("Hello world !!! ")

接着,綁定 URL 與視圖函數。打開 urls.py 文件,註釋掉以前代碼,將如下代碼複製粘貼到 urls.py 文件中:spa

 1 # from django.contrib import admin
 2 # from django.urls import path
 3 #
 4 # urlpatterns = [
 5 #     path('admin/', admin.site.urls),
 6 # ]
 7 
 8 from django.conf.urls import url
 9 from . import view
10 
11 # 匹配模式 統一資源定位
12 urlpatterns = [
13     url(r'^$', view.hello)
14 ]
15 # 正則表達式 ^$表示匹配一行的首和尾

(5)完成後,啓動 Django 開發服務器,並在瀏覽器訪問打開瀏覽器並訪問

 

 2. 使用模板

(1)在 HelloWorld 目錄底下建立 templates 目錄並創建 hello.html文件

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5 
 6 </head>
 7 <body>
 8     <h1>{{ hello }}</h1>
 9 </body>
10 </html>

這裏定義了一個hello變量,使用的是雙括號。

(2)向Django說明模板文件的路徑,修改HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS 爲 [BASE_DIR+"/templates",]

(3)修改 view.py,增長一個新的對象,用於向模板提交數據

1 from django.shortcuts import render
2 
3 def hello(request):
4     context = {}
5     context['hello'] = 'Hello World! using templates'
6     # render 渲染
7     return render(request, 'hello.html', context)

使用 render 來替代以前使用的 HttpResponse。

render 還使用了一個字典 context 做爲參數。

context 字典中元素的鍵值 "hello" 對應了模板中的變量 "{{ hello }}"。

 注:此處上傳不了圖片

3. 模板繼承實現復現

在以前建立的 templates 目錄中添加 base.html 文件

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>runoob.com</title>
 6 </head>
 7 <body>
 8     <h1>hello world! using templates2</h1>
 9     <p>Django test</p>
10     {% block mainbody %}
11         <p>original</p>
12     {% endblock %}
13 </body>
14 </html>

以上代碼中,名爲 mainbody 的 block 標籤是能夠被繼承者們替換掉的部分。

全部的 {% block %} 標籤告訴模板引擎,子模板能夠重載這些部分。

hello.html 中繼承 base.html,並替換特定 block,hello.html 修改後的代碼以下

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5 
 6 </head>
 7 <body>
 8     {% extends "base.html" %}
 9 
10     {% block mainbody %}<p>繼承了 base.html 文件</p>
11     {% endblock %}
12 
13 </body>
14 </html>

hello.html 繼承了 base.html 文件。

能夠看到,這裏相同名字的 block 標籤用以替換 base.html 的相應 block。

 注:此處上傳不了圖片

 

 4. 在pycharm中配置變量,直接運行
在Debug Configurations中Script parameters中輸入runserver 0.0.0.0:8000,爲了能夠直接點擊Run中連接進行跳轉,將其改成runserver localhost:8000

注:無法截圖了

相關文章
相關標籤/搜索