前言:本文學習Vamei (博客地址http://www.cnblogs.com/vamei )的被解救的姜戈系列:01初試天涯html
因爲此教程時間比較久遠,軟件版本,開發環境的不一樣,致使自學過程當中,運行程序出現問題,因此纔有了本系列的讀書筆記。因爲本人是菜鳥,不免裏面會有錯誤,歡迎指正,理性討論,謝謝!python
這裏首先提示本人運行環境,系統是windows10專業版,python版本是3.5.2,Django版本是1.10.4(默認pip安裝不指定版本號,通常是最新版)django
正文:windows
一、安裝Django瀏覽器
先查看是否默認安裝過服務器
import django print(django.VERSION)
若是安裝過,會顯示版本號session
(1, 10, 4, 'final', 0)
未安裝會有錯誤,能夠按照下面步驟安裝,注意這裏是在windows10的DOS下輸入,win+R,再輸入CMD能夠調出app
pip install django
會開始鏈接,有進度條開始下載並安裝,若是須要指定django版本號,能夠這麼輸入模塊化
pip install Django==1.8.16
相關django的內容能夠查看教程 http://www.ziqiangxuetang.com/django/django-install.html函數
二、啓動django
首先在DOS界面進入須要搭建網站的目錄,這裏根據教程,輸入以下命令,在H盤創建mysite文件夾
H:\>django-admin.py startproject mysite
查看H盤就自動新建mysite文件夾,其目錄以下
進入mysite文件夾,啓動服務器,這裏根據教程設置端口8000
H:\mysite>py manage.py runserver 8000
這個提示就是成功創建了簡單的網站,在瀏覽器輸入http://127.0.0.1:8000
這樣網站就算簡單搭建成功,固然咱們還須要一些內容
三、創建第一個網頁
這裏根據教程,首先須要修改mysite/mysite下的urls.py設定,讓它知道網頁所在吧
打開urls.py,你會看到以下代碼:
"""mysite URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/1.10/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.conf.urls import url, include 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ from django.conf.urls import url from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), ]
根據其中Example,結合教程,修改以下
from django.conf.urls import url from django.contrib import admin from mysite import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$',views.first_page), ]
注意這裏插入了from mysite import views,再看到裏面views.first_page,這個就是咱們須要創建的網頁,如今咱們就創建它,咱們在mysite/mysite下建立views.py,並在其中定義first_page函數
# -*- coding:utf-8 -*- from django.http import HttpResponse def first_page(request): return HttpResponse("<p>世界好</p>")
第一行說明字符編碼爲utf-8,爲下面使用中文作準備。first_page函數的功能,是返回http回覆,即這裏的<p>世界好</p>。first_page有一個參數request,該參數包含有請求的具體信息,好比請求的類型等,這裏並無用到。
四、增長app
根據本人目前理解是增長網頁二級目錄功能,繼續跟着教程
一個網站可能有多個功能。咱們能夠在Django下,以app爲單位,模塊化的管理,而不是將全部的東西都丟到一個文件夾中。在mysite下,運行manange.py,建立新的app:
先ctrl+Break,退出原來創建的網頁服務器,再在DOS下輸入
py manage.py startapp west
因而在mysite目錄下新建了west目錄,裏面包含了一些py
咱們還須要修改項目設置,說明咱們要使用west。在mysite/setting.py中,在INSTALLED_APPS中,增長"west":
打開mysite\mysite目錄下的settings.py,按照以下修改
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'west', ]
就是插入了'west',,這個語句。
能夠看到,除了新增長的west,Django已經默認加載了一些功能性的app,好比用戶驗證、會話管理、顯示靜態文件等。咱們將在之後講解它們的用途。
五、增長app頁面
咱們下面爲APP增長首頁。咱們以前是在mysite/urls.py中設置的URL訪問對象。依然採用相似的方式設置。
另外一方面,爲了去耦合,實現模塊化,咱們應該在west/urls.py中設置URL訪問對象。具體以下:
和第3點相似的方法
再次修改mysite/urls.py
from django.conf.urls import url from django.contrib import admin from mysite import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$',views.first_page), url(r'^west/',include('west.urls')), ]
再次增長了一行,注意west後面的/,這裏,咱們提醒指揮員,對於west/的訪問,要參考west/urls.py。
隨後,咱們建立west/urls.py,添加內容:
from django.conf.urls import url, include from west import views urlpatterns = [ url(r'^$',views.first_page), ]
注意第一句和教程不同,其中url和include順序就是如此,第二句必須增長,代表views位置導入,」urlpatterns = [ 」 這裏沒有patterns,views.first_page沒有前綴west。
最後,在west下,修改views.py爲:
from django.shortcuts import render # Create your views here. # -*- coding: utf-8 -*- from django.http import HttpResponse def first_page(request): return HttpResponse("<p>西餐</p>")
注意與教程程序的區別。
訪問http://127.0.0.1:8000/west,查看效果。
頁面應該顯示 西餐
六、總結
注意因爲Django版本的區別,致使使用方法的不一樣。