1. 程式人生 > >Django2.0:【Django2.0教程】02.入門儀式:Hello World 視訊學習筆記

Django2.0:【Django2.0教程】02.入門儀式:Hello World 視訊學習筆記

進入到需要放置專案的路徑,使用如下命令建立專案:

$ django-admin startproject mysite
這裡,mysite為專案名稱,也可以是其他的名字。進入到mysite目錄之後,可以看到目錄結構如下:
.
├── manage.py
└── mysite
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

1 directory, 5 files

manage.py:管理整個Django專案的檔案;
mysite/__init__.py:python包必須包含的檔案;
mysite/settings.py:專案的全域性設定檔案;
mysite/urls.py:整個網站的路由控制,規定哪些url可以訪問;
mysite/wsgi.py:網站部署時會用到的檔案。

建立python檔案mysite/views.py,寫入如下程式碼:

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world")

引數request為固定的引數,表示接收的請求,可以通過其獲取請求包含的引數等。HttpResponse()方法返回響應。

在mysite/urls.py檔案中新增程式碼,修改為如下內容:

from django.contrib import admin
from django.urls import path
from . import
views urlpatterns = [ path('admin/', admin.site.urls), path('', views.index), ]

from . import views表示匯入剛才寫的views.py。path()方法一共有三個引數,這兒只用到了兩個,第一個引數為網址,第二個引數為響應的方法。

使用如下命令啟動伺服器:

$ python manage.py runserver
打印出如下資訊:
Performing system checks...

System check identified no issues (0 silenced).

You have 14
unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. May 11, 2018 - 05:15:36 Django version 2.0.5, using settings 'mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
開啟瀏覽器,輸入網址: http://127.0.0.1:8000 或者 http://localhost:8000

入門儀式完成!

Django1.x版本中,沒有path()方法,而是使用url()方法,該方法第一個引數使用正則表示式;在Django2.x中,可以使用re_path()方法,其第一個引數使用正則表示式,如同url()方法。例如:

from django.contrib import admin
from django.urls import re_path
from . import views

urlpatterns = [
    path('admin/', admin.site.urls),
    re_path('^$', views.index),
]
`path(‘admin/’, admin.site.urls)`指向的是後臺管理,可以通過網址: http://127.0.0.1:8000/admin 訪問。視訊中沒有出現報錯,不過,我在執行的時候遇到報錯了:
[11/May/2018 05:32:04] "GET /admin HTTP/1.1" 301 0
Internal Server Error: /admin/
Traceback (most recent call last):
  File "/home/kai/anaconda3/envs/django/lib/python3.6/site-packages/django/contrib/sessions/backends/base.py", line 191, in _get_session
    return self._session_cache
AttributeError: 'SessionStore' object has no attribute '_session_cache'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kai/anaconda3/envs/django/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute
    return self.cursor.execute(sql, params)
  File "/home/kai/anaconda3/envs/django/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 303, in execute
    return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: django_session
...
Ctrl+C關閉伺服器。執行如下命令,初始化資料庫:
$ python manage.py migrate
目錄下多了一個db.sqlite3檔案。再次執行伺服器,發現輸出中少了幾句話。再次訪問 http://127.0.0.1:8000/admin 。

因為還沒有建立使用者,所以先去建立使用者。使用如下命令:

$ python manage.py createsuperuser

按照提示建立使用者。完成之後登入。

如果記不住以上命令,可以使用

$ python manage.py help

獲取幫助。

相關推薦

Django2.0Django2.0教程02.入門儀式Hello World 視訊學習筆記

進入到需要放置專案的路徑,使用如下命令建立專案: $ django-admin startproject mysite 這裡,mysite為專案名稱,也可以是其他的名字。進入到mysite目錄之後,可以看到目錄結構如下: . ├── mana

Django2.0Django2.0教程11.CSS框架協助前端佈局 視訊學習筆記

將下載的bootstrap解壓並重命名為bootstrap-3.3.7,移動至static/下,這裡只用到css/bootstrap.min.css和css/bootstrap.min.css.map、js/bootstrap.min.js和全部font

KMP字符串KMP字符串匹配算法 學習筆記

出現 調用 隨機 rri 形象 再看 aaaaa scan i+1 一、簡介 KMP是由Knuth、Morris和Prat發明的字符串匹配算法,它的時間復雜度是均攤\(O(n+m)\)。其實用Hash也可以做到線性,只不過Hash存在極其微小的難以避免的沖突。於是就

Django2.0Django2.0教程08.常用的模版標籤和過濾器 視訊學習筆記

繼續搭建blog blog/views.py from django.shortcuts import render_to_response, get_object_or_404 from .models import Blog, BlogType d

Django2.0Django2.0教程14.優化分頁展示 視訊學習筆記

當前頁高亮 修改blog/templates/blog/blog_list.html: ... <ul class="pagination"> <li> {# 上一頁 #} {% if pa

Django2.0Django2.0教程04.使用模版顯示內容 視訊學習筆記

檢視文章頁面:唯一標示id article/migrations/0001_initial.py的內容如下: # Generated by Django 2.0.5 on 2018-05-11 06:54 from django.db import m

Django2.0Django2.0教程13.分頁和shell命令列模式 視訊學習筆記

快速新增博文:Shell命令列模式 $ python manage.py shell 匯入Blog模型: >>> from blog.models import Blog 驗證是否成功引用: >>&

給初學者的RxJava2.0教程(二)執行緒控制

前言 上一節教程講解了最基本的RxJava2的使用, 在本節中, 我們將學習RxJava強大的執行緒控制. 正題 還是以之前的例子, 兩根水管: 正常情況下, 上游和下游是工作在同一個執行緒中的, 也就是說上游在哪個執行緒發事件,

React 實戰教程0到1 構建 github star管理工具

前言 在日常使用github中,除了利用git進行專案版本控制之外,最多的用處就是遊覽各式的專案,在看到一些有趣或者有用的專案之後,我們通常就會順手star,目的是日後再看。但是當我們star了許多專案之後,回過頭想找一個的專案就會發現,很難在短時間內找到它,官方也並沒有提供很好的管理我們的star專案的功

ROM修改教程新增高階電源重啟選單(安卓4.0.4官方ROM)

準備工作: 電腦上安裝好JDK、下載smali和baksmali、下載apktools、要修改的ROM、adb工具(可選) 注:由於本教程面向的物件為有一定ROM修改基礎的兄弟,所以對於如何使用電腦,如何使用CMD以及上述工具的具體用法等等都不在本貼的討論範圍內,本文將僅講述如何新增高階重啟選單 1、從要

Unity3D基礎教程給初學者看的Unity教程(零)如何學習Unity3D

cos 詳解 component lock index unity3d遊戲 design 技術棧 log 【Unity3D基礎教程】給初學者看的Unity教程(零):如何學習Unity3D http://www.cnblogs.com/neverdie/p/How_To_

TeeChart Pro ActiveX教程(四)軸控制—附加軸和軸事件

下載TeeChart Pro ActiveX最新版本 (一)附加軸 1.1 複製軸 TeeChart提供5個軸與資料系列,Left,Right,Top,Bottom和Depth相關聯。向圖表新增新系列時,可以定義系列應與哪些軸相關(轉到“Series”選項卡“General”頁面)。您可以使用Axis

TeeChart Pro ActiveX教程(七)使用函式(下)

下載TeeChart Pro ActiveX最新版本 在上一篇文章中,我們介紹到了在Teechart Pro ActiveX中的功能特點和新增功能,今天我們接著講定義資料來源、功能期間和週期樣式 (一)定義資料來源 上一節中的示例重點介紹如何使用Datasource通過程式碼填充Function.S

TeeChart Pro ActiveX教程(七)使用函式(上)

下載TeeChart Pro ActiveX最新版本 功能型別 1 功能特點 TeeChart Pro功能是一個系列,幾乎可以是任何系列型別,應用代數函式,資料來源是另一個圖表系列。 所有函式都派生自Teefunction類並繼承TeeFunction的Period屬性。 TeeCh

TeeChart Pro ActiveX教程(八)ADO資料庫訪問(上)

下載TeeChart Pro ActiveX最新版本 介紹 將TeeChart控制元件連線到ADO.NET資料庫可以在設計時使用TeeChart編輯器完成,並在執行時使用幾行程式碼完成。 任何Series都可以使用TeeChart Editor連線到ADO.NET表或查詢。每個系列

JavaFx教程第四部分CSS 樣式

第4部分主題 CSS樣式表 新增應用程式圖示 CSS樣式表 在JavaFX中,你能使用層疊樣式表修飾你的使用者介面。這非常好!自定義Java應用介面從來不是件簡單的事情。 在本教程中,我們將建立一個*DarkTheme*主題,靈感來自於Windows 8 Metr

TeeChart Pro ActiveX教程(四)軸控制—關鍵領域

TeeChart Pro將自動為您定義所有Axis標籤,並提供足夠的靈活性來定製您可能具有的任何特定要求。TeeChart Pro提供真正的多軸。它們可在設計或執行時使用,併為Axis定義提供無數可能性和靈活性。有關詳細資訊,請參閱本教程中的部分。 (一)Scales

TeeChart Pro ActiveX教程(十三)圖表面板上的自定義繪圖(上)

下載TeeChart Pro ActiveX最新版本 TeeChart通過Canvas物件提供廣泛的自定義繪圖工具。使用Canvas,您可以在“Chart Panel”的任何位置新增形狀,線條和文字,並定義其顏色,筆和畫筆樣式。 TeeChart畫布 繪圖順序 使用TeeChart的Canvas方

JavaFx教程第五部分將資料用 XML 格式儲存

第5部分的主題 持久化資料為XML 使用JavaFX的FileChooser 使用JavaFX的選單 在使用者設定中儲存最後開啟的檔案路徑。 現在我們的地址應用程式的資料只儲存在記憶體中。每次我們關閉應用程式,資料將丟失,因此是時候開始考慮持久化儲存資料了。 儲

JavaFx教程第三部分與使用者的互動

第3部分的主題: 在表中反應選擇的改變(TableView中)。 增加增加,編輯和刪除按鈕的功能。 建立自定義彈出對話方塊編輯人員。 驗證使用者輸入。 響應表的選擇 顯然,我們還沒有使用應用程式的右邊。想法是當用戶選擇表中的人員時,在右邊顯示人員的詳情。 首先