Django(一)基礎:安裝環境、建立項目、視圖、建立一個項目的應用(app)

1、安裝環境

參考: https://docs.djangoproject.com/zh-hans https://www.runoob.com/django/django-install.html https://docs.qq.com/doc/DSHlYb3JoYVlETXh4 (要登陸 pa qq)html

1.0 虛擬環境安裝

參考: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

1.1 安裝django

pip install Django

#用國內源加速安裝
pip install -i https://pypi.doubanio.com/simple/ django

#[擴展知識]卸載django(不要用)[linux下在前加sudo]
pip uninstall django

2、建立django項目

進入咱們想要放項目的目錄(直接在指定目錄右鍵+shift---此處打開命令提示符),輸入以下命令,建立 Django 項目:linux

<font color='red'>2.0建立項目語法</font>

django-admin.py startproject project1

#或默認打開了文件django-admin.py則用以下命令
django-admin startproject project1

2.1 運行項目

運行項目:正則表達式

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

2.2 在指定端口打開項目

運行命令說明: 0.0.0.0 讓其它電腦可鏈接到開發服務器,8000 爲端口號。若是不說明,那麼端口號默認爲 8000。django

py manage.py runserver

#或指定商品運行
python manage.py runserver 0.0.0.0:8000

2.3 項目結構介紹

建立完成後咱們能夠查看下項目的目錄結構:windows

$ cd project1
$ tree
#或 windows 顯示全部文件要加 /f
tree /f
.
|-- project1
|   |-- __init__.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
`-- manage.py

2.4 項目目錄說明:

  • HelloWorld: 項目的容器。
  • manage.py: 一個實用的命令行工具,可以讓你以各類方式與該 Django 項目進行交互。
  • HelloWorld/__init__.py: 一個空文件,告訴 Python 該目錄是一個 Python 包。
  • HelloWorld/settings.py: 該 Django 項目的設置/配置。
  • HelloWorld/urls.py: 該 Django 項目的 URL 聲明; 一份由 Django 驅動的網站"目錄"。
  • HelloWorld/wsgi.py: 一個 WSGI 兼容的 Web 服務器的入口,以便運行你的項目。

3、建立項目的應用(app)

<font color='red'>3.0 建立應用語法:</font>

整個項目是由一個個子應用組成的(應用:至關於創建一個子功能模塊)。瀏覽器

py manage.py startapp app1
或
python mange.py startapp app1

3.0.1完成後,項目目錄:

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

3.1 應用註冊

  1. 一個應用建立完成後須要進行註冊,才能使用它
  2. 創建應用和項目之間的聯繫,須要對應用進行註冊: 修改 \project1\project1\settings.py 中的INSTALLED_APPS配置項
# -*- 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 ]
]

3.2 建立應用的第1個【視圖】頁面

1)在 project1/app1/view.py 文件,輸入代碼:

from django.http import HttpResponse
 
def index(request):
    return HttpResponse("Hello world ! ")

注:視圖函數必須有一個參數request,進行處理以後,須要返回一個HttpResponse的類對象,hello world就是返回給瀏覽器顯示的內容。服務器

2)接着,添加並配置app1/urls.py

視圖配置說明 project1/app1/urls.py 文件代碼:

from django.urls import path
from . import views

urlpatterns=[
    path('app1/',views.index),
]

或用url方法配置app1/urls.py路徑【django3.x報錯誤】

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), # 顯示英雄信息
]

3)配置project1/urls.py

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('app1.urls')),
]

或用url方法配置project1/urls.py路徑【django3.x報錯誤】

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文件

4)效果:刷新localhost:8000/index頁面顯示

hello world !

3.3 path() 函數用法

Django path() 能夠接收四個參數,分別是:

  1. 兩個必選參數:route、view
  2. 兩個可選參數:kwargs、name。

語法格式:

<font color='red' size=5>path(route, view, kwargs=None, name=None)</font>

  1. route:字符串,表示 URL 規則,與之匹配的 URL 會執行對應的第二個參數 view。
  2. view:用於執行與正則表達式匹配的 URL 請求。
  3. kwargs:視圖使用的字典類型的參數。
  4. name:用來反向獲取 URL。

3.4 url()函數的用法【django3.x報錯誤】

配置的目的是讓創建url和視圖函數的對應關係。url配置項定義在urlpatterns的列表中,每個配置項都調用url函數。

  • url函數有兩個參數,第一個參數是一個正則表達式,第二個是對應的處理動做。

配置url時,有兩種語法格式:

  • url(正則表達式,視圖函數名)
  • url(正則表達式,include(應用中的urls文件)) 工做中在配置url時,首先在項目的urls.py文件中添加配置項時,並不寫具體的url和視圖函數之間的對應關係,而是包含具體應用的urls.py文件,在應用的urls.py文件中寫url和視圖函數的對應關係。

3.5 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給瀏覽器來顯示。

相關文章
相關標籤/搜索