1. 程式人生 > >Django(一)、基本使用

Django(一)、基本使用

一、安裝
pip install django

二、建立專案
進入目標路徑,執行:django-admin startproject xxx(專案名稱)
預設建立的目錄結構:

        mysite
            - mysite        # 對整個程式進行配置
                - init
                - settings  # 配置檔案
                - url       # URL對應關係
                - wsgi      # 遵循WSIG規範,uwsgi + nginx
- manage.py # 管理Django程式: - python manage.py - python manage.py startapp xxx #建立子app(模組) - python manage.py makemigrations #當有表結構變化時重新整理表結構 - python manage.py migrate #初始化表結構

執行django:

python manage.py
runserver 127.0.0.1:8000 #地址和埠預設為本機8000埠時,可省略

以上操作也可以在pycharm上進行。

三、基礎操作
1.建立後臺管理賬戶
python manage.py migrate #初始化表結構
python manage.py createsuperuser #按照提示輸入,email按回車直接跳過

建立完成後,在瀏覽器輸入:
127.0.0.1:8000/admin可進入Django自帶的後臺管理page

2.新增頁面
每增加一個page時(例如增加login頁面):
一、寫一個html page,建立templates目錄,在templates目錄下存放建立html檔案:
二、建立static目錄,將html檔案所需的靜態檔案放在這個目錄下,例如css、js、圖片檔案
三、定義函式,在相應的app的views.py寫一個處理/login路徑請求的函式
例如:

def login(request):
    #f=open('template/login.html','rb')
    #data=f.read()
    #return HttpResponse(data)
    return render(request,'login.html')
    #配置好temlpate路徑後,可以使用render來簡寫以上內容,render實際是對httpresponse的封裝,實現程式碼的簡寫,功能一致。

四、在urls檔案中增加規則,例如增加登陸頁面login:

    urlpatterns = [
    path('admin/', admin.site.urls),
    path('cmdb/',views.home),
    path('login/',views.login),
]

五、在setting中修改配置檔案新增template路徑、static路徑,關閉csrf保護

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

新增templates路徑,django會在setting配置檔案里加載html模板檔案的路徑,並使用模板語言對模板進行渲染,這個下篇再講。新增static路徑,是為了避免客戶端在請求html內的靜態檔案時,urls.py中無對應處理靜態檔案路徑的方法的問題,否則,讀取靜態檔案會報404。

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

CSRF: Cross Site Request Forgery, 跨站點偽造請求,django預設開啟此保護機制,在涉及此知識點之前,首先註釋掉這行程式碼,否則會報403。

最後:
一個基礎的django程式就可以執行起來了,cmd輸入python manage.py runserver,瀏覽器輸入:127.0.0.1:8000/login:
這裡寫圖片描述

相關推薦

Django基本使用

一、安裝 pip install django 二、建立專案 進入目標路徑,執行:django-admin startproject xxx(專案名稱) 預設建立的目錄結構: mysite - mysite

html embed用法 Embed   基本語法:   embed src=url   說明:embed可以用來插入各種多媒體,格式可以是 MidiWavAIFFAUMP3等

Embed    (一)、基本語法:    embed src=url    說明:embed可以用來插入各種多媒體,格式可以是 Midi、Wav、AIFF、AU、MP3等等,       Netscape及新版的IE 都支援。url為音訊或視訊檔案及其路徑,可以是相對路徑或絕對路徑。    示例:<

java泛型泛型的基本介紹和使用

 轉載地址  http://m.blog.csdn.net/article/details?id=7864531 現在開始深入學習java的泛型了,以前一直只是在集合中簡單的使用泛型,根本就不明白泛型的原理和作用。泛型在java中,是一個十分重要的特性,所以要好好的研究

HTML檔案基本標記-

關於HTML檔案head、title、meta標記的使用 <!DOCTYPE html> <html> <head> <!-- HTML使用http-eq

Python爬蟲基本概念

popu 通用 字符 spider dai 自身 部分 螞蟻 people 網絡爬蟲的定義 網絡爬蟲(Web Spider。又被稱為網頁蜘蛛。網絡機器人,又稱為網頁追逐者),是一種依照一定的規則,自己主動的抓取萬維網信息的程序或者腳本。另外一些不常使用

Spring3 MVC 註解---註解基本配置及@controller和 @RequestMapping 常用解釋

nal context pac 配置 註解 com inf 如何 文件中 一:配置web.xml 1)問題:spring項目中有多個配置文件mvc.xml dao.xml 2)解決:在web.xml中 <init-par

hive入門什麽是hive

作業 strong 包括 麻煩 倉庫 離線 享元 tor 減少 1、Hive 基本概念 Hive是基於Hadoop的一個 數據倉庫工具,可以將結構化的數據文件映射成一張表,並提供類SQL查詢功能; Hive是構建在Hadoop 之上的數據倉庫; 使用HQL作為查詢接口;使

操作系統學習80x86保護模式內存管理

分享 共享棧 問題 代碼 就會 空間 階段 logs ima 整理的不好,湊合著看吧 目錄 1.內存及尋址 2.地址變換 3.分段機制 4.分頁機制 5.保護 6.去到底部 一、內存及尋址 返回目錄 二、地址變換 80X86 從 邏輯地址 到 物理地址 的轉換

redis使用基礎 ——Redis基本概述與安裝配置

錯誤信息 並不是 make load 消息隊列 一個 多少 通過 功能 redis使用基礎(一) ——Redis基本概述與安裝配置 (轉載請附上本文鏈接——linhxx) 一、特性 1、存儲方式 Redis采用Key-Value類型進行存儲,數據存

django登錄頁面流程

登錄系統流程:1、瀏覽器訪問http://127.0.0.1:8002/user/login/ 2、urls.py中 path(‘login/‘, views.login, name="login"),執行views下的login函數 3、URL 請求為GET,跳轉到 return ren

Go語言開發Go語言簡介

Go語言 簡介Go語言開發(一)、Go語言簡介 一、Go語言簡介 1、Go語言簡介 Go,全稱golang,是Google開發的一種靜態強類型、編譯型、並發型並具有垃圾回收功能的編程語言。 Go從2007年末由Robert Griesemer、Rob Pike、Ken Thompson(C語言發明者)主持開發

Redis學習安裝Redis和客戶端

arguments edi 1.5 roc tex ado host ges unknown Redis學習(一)、安裝Redis和客戶端 一、Windows安裝Redis 1、下載安裝包Redis-x64-3.0.504.zip到本地 2、解壓 3、打開CMD,切換到解

前端學習基本類型

關系 大小寫 變量 def 兩個 num eof 初始化 string類 ECMAScript中有5中基本數據類型:Undefined、Null、Boolean、Number、String。 Undefined類型:之所以會出現這個值,就是在當你聲明了一個變量時,並未對其賦

LTE學習筆記---LTE基本流程1 LTE簡要流程

UE關機 UE開機 頻率搜尋 時間同步 小區搜尋 小區選擇 MIB解碼 SIB解碼 初始RACH 註冊/鑑權/附著 預設EPC承載建立 UE處於IDLE狀態 小區重選(如果當前小區訊號變差或UE轉移到另一小區區域) RACH過程(若有尋呼訊息到來或使用

Python地理位置資訊庫geopy的使用基本使用

geopy是Python關於地理位置的一個第三方庫,用這個庫來進行地址位置資訊的查詢和轉換非常方便,本文介紹關於geopy的常用的幾種用法 geopy的安裝 pip install geopy 根據地址查詢座標及詳細資訊 >>> import json, logging &

vue學習Vue.js簡介

Vue.js 五天 湯小洋一、 Vue.js簡介1. Vue.js是什麼Vue.js也稱為Vue,讀音/vju:/,類似view,錯誤讀音v-u-e 版本:v1.0 v2.0是一個構建使用者介面的框架是一個輕量級MVVM(Model-View-ViewModel)框架,和angular、react類似,其實就

【C++併發實戰】併發基本概念

  什麼是併發 併發,最簡單的理解就是,兩個或者以上的活動同時進行。舉個比較實際的例子,你可以手腳並用,兩隻手做不同的動作等等。 在計算機中的“併發”,是指一個系統可以同時執行多個獨立的活動。在以前大多數計算機都只有一個處理單元(或者核心),這種計算機在同一時刻只能執行一個任務,任務

我對hyperledger fabric1.1.0的執著基本環境整理

我用的作業系統為:centos7.4,語言準備用java開發。 整理包括:linux核心升級(若升級失敗,可參考https://blog.csdn.net/tianshuhao521/article/details/84021064),jdk安裝,docker(docker ce,docker-

Struts2筆記環境搭建

一、匯入struts2的包 二、在web.xml中配置核心過濾器 <filter> <filter-name>centerFilter</filter-name> <!-- 注意類的路徑: 自2.1.3版本開始

面試題總結TCP協議

宣告:本文主要探討當TCP協議出現在面試筆試場合可能會涉及的問題,每一個知識點討論力求簡潔,便於記憶,但討論深度有限,如要深入研究可點選參考連結,希望對正在找工作的同學有點幫助。 一、TCP協議簡介 一般問到TCP協議的時候 最常見的是TCP連線建立和斷開的過程,也就是三次握手和四次揮手,兩