參考: https://docs.djangoproject.com/zh-hans https://www.runoob.com/django/django-install.html https://docs.qq.com/doc/DSHlYb3JoYVlETXh4 (要登陸 pa qq)html
參考:https://www.cnblogs.com/chenxi188/p/10700608.html 用於解決移植,多版本等問題python
#第一步:安裝環境支持[linux下在前加sudo] http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl pip install virtualenv #第二步,先進入想要的保存環境目錄位置,再新建虛擬環境 virtualenv scrapytest #第三步,進入虛擬環境的目錄 #a.顯示當前目錄全部文件 dir #b.進入剛建的目錄 cd scrapytest #c.進入腳本目錄: cd scripts #【第四步】:進入虛擬環境輸入以下命令以後便可使用虛擬環境,它本質和正常環境沒區別: activate.bat # 【第五步】:退出虛擬環境 #a.先退出python exit() #b.退出虛擬環境(執行此文件)[linux下:進入bin目錄 source deactivate] deactivate.bat 第六步(同二步):建立須要指定python版本[系統默認是3.7,則建立2.7版]-p 表示版本 #最後的名稱隨便取 virtualenv -p C:\Python\python27\python.exe scrapypy2
pip install Django #用國內源加速安裝 pip install -i https://pypi.doubanio.com/simple/ django #[擴展知識]卸載django(不要用)[linux下在前加sudo] pip uninstall django
進入咱們想要放項目的目錄(直接在指定目錄右鍵+shift---此處打開命令提示符),輸入以下命令,建立 Django 項目:linux
django-admin.py startproject project1 #或默認打開了文件django-admin.py則用以下命令 django-admin startproject project1
運行項目:正則表達式
cd project1 # 切換到咱們建立的項目 $ python manage.py runserver …… Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
在瀏覽器打開網址:127.0.0.1:8000sql
便可看到發射的火箭效果。shell
運行命令說明: 0.0.0.0 讓其它電腦可鏈接到開發服務器,8000 爲端口號。若是不說明,那麼端口號默認爲 8000。django
py manage.py runserver #或指定商品運行 python manage.py runserver 0.0.0.0:8000
建立完成後咱們能夠查看下項目的目錄結構:windows
$ cd project1 $ tree #或 windows 顯示全部文件要加 /f tree /f . |-- project1 | |-- __init__.py | |-- settings.py | |-- urls.py | `-- wsgi.py `-- manage.py
__init__.py
: 一個空文件,告訴 Python 該目錄是一個 Python 包。整個項目是由一個個子應用組成的(應用:至關於創建一個子功能模塊)。瀏覽器
py manage.py startapp app1 或 python mange.py startapp app1
D:\a\django-app\project1>tree /f 卷 本地磁盤 的文件夾 PATH 列表 卷序列號爲 18A9-EAFD D:. │ db.sqlite3 │ manage.py ├─app1 │ │ admin.py │ │ apps.py │ │ models.py │ │ tests.py │ │ urls.py │ │ views.py │ │ __init__.py │ │ │ ├─migrations │ └─project1 │ asgi.py │ settings.py │ urls.py │ wsgi.py │ __init__.py
# -*- coding: UTF-8 -*- #由於加了中文因此頭部要加上上面一行文字 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app1', #要註冊的應用,若是有文件夾則:[ 文件夾名.app1 ] ]
from django.http import HttpResponse def index(request): return HttpResponse("Hello world ! ")
注:視圖函數必須有一個參數request,進行處理以後,須要返回一個HttpResponse的類對象,hello world就是返回給瀏覽器顯示的內容。服務器
project1/app1/urls.py 文件代碼:
from django.urls import path from . import views urlpatterns=[ path('app1/',views.index), ]
from django.conf.urls import url from booktest import views # index # index2 # index2/ # 在應用的urls文件中進行url配置的時候: # 1.嚴格匹配開頭和結尾 urlpatterns = [ # 經過url函數設置url路由配置項 url(r'^index$', views.index), # 創建/index和視圖index之間的關係 url(r'^index2$', views.index2), url(r'^books$', views.show_books), # 顯示圖書信息 url(r'^books/(\d+)$', views.detail), # 顯示英雄信息 ]
from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('',include('app1.urls')), ]
from django.conf.urls import include, url from django.contrib import admin # 項目的urls文件 # index # index2 # index2/ # aindex urlpatterns = [ url(r'^admin/', include(admin.site.urls)), # 配置項目 url(r'^', include('booktest.urls')), # 包含booktest應用中的urls文件
hello world !
Django path() 能夠接收四個參數,分別是:
<font color='red' size=5>path(route, view, kwargs=None, name=None)</font>
配置的目的是讓創建url和視圖函數的對應關係。url配置項定義在urlpatterns的列表中,每個配置項都調用url函數。
配置url時,有兩種語法格式:
在項目的urls.py文件中包含具體應用的urls.py文件,應用的urls.py文件中寫url和視圖函數的對應關係。
當用戶輸入如http://127.0.0.1:8000/aindex時,去除域名和最前面的/,剩下aindex,拿aindex字符串到項目的urls文件中進行匹配,配置成功以後,去除匹配的a字符,那剩下的index字符串繼續到應用的urls文件中進行正則匹配,匹配成功以後執行視圖函數index,index視圖函數返回內容hello python給瀏覽器來顯示。