Django 網站框架 第一堂(上)

  • Post author:
  • 帖子最後修改:2021 年 11 月 26 日

Table of Contents

Anaconda

如Create新專案 Python 版本選擇無 3.7可選,在base(root) 的Terminal執行下行。

				
					conda create --name work python=3.7
				
			

Create new environment

Django的設計模式,也就是MTV:

  • Model :定義一些資料庫的東西(ORM),這層通常是直接和資料有關。
  • Template :使用者基本上就是看到這層,也就是最後所呈現的Template ( html )ₒ
  • View:可以將這層看做是中間層,它主要負責Model和Template之間的業務邏輯。

Anaconda 新環境Terminal pip install django==3.2.5

建立 Django Project (在上序環境Terminal順便建立專案)

使用指令的方式來建立,指令如下

使用django admin權限 開始專案 名稱目錄(專案)

建立好後專案會放置 C:\Users\電腦名\testweb

				
					django-admin startproject testweb
				
			

建立app name

在專安裡建立一個app(及網站放置位置)

進入剛剛創立的資料夾 創建一個myapp

				
					cd tes
python manage.py startapp myapp
				
			

介紹以下相關py檔的應用

  • 連立Django用程式(APP)
  • Django MTV模式 /
  • Django應用程式網址(Url)
  • Django應用程式檢視函式(View Function)

其中的檔案功能,簡單說明如下:

  • migrations -記錄資料與models.py中的欄位同步歷程。
  • _init_.py -這個檔案顯示了Django的每個應用程式(APP),事實上就是Python套件(Package).
  • admin.py -可以用來定義或客製化每個應用程式(APP)在Django後台(Django Administration)的Iffi位顯示方式.
  • apps.py -這個Django用程式的設定樟.
  • models.py -定義Django應用程式的資料庫欄位.
  • tests.py -能夠撰寫Djangoa用程式的自動化測試腳本.
  • views.py-ft«接收瀏覽器的請求,進行通邏輯處理後,回傳執行結果给瀏覽器.

Visual Stadio Code 開啟專案

sittings.py設定介紹 新增部分 INSTALL_APPS

				
					INSTALLED_APPS = [
    '******',
    'myapp.apps.MyappConfig',#加上這行指的是應用文件配置在(CatalogConfig)取決於APP設定名稱

]
				
			

sittings.py設定介紹 TEMPLATES HTML路徑

				
					#代表你的根URLconf的模組名
ROOT_URLCONF = 'testweb.urls'

TEMPLATES = [
    {   
        #要使用的模組名稱模板後端,內置的模板後端如下,还有django.template.backends.jinja2・Jinja2,
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        #在捜索顺序中引擎应该寻找模板源文件的目錄,即绝对路径html 路徑
        'DIRS': [],
        #设置引擎是否应该在安装的应用程序中
        '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',
            ],
        },
    },
]
				
			

sittings.py設定介紹 WSGI_APPLICATION (上傳至heroku用)

				
					# Django内昼服务器(如runserver)的应用程序对象的完整Python路径
# #django-admin startproject执行会创建一个简单的wsgi.py应用程序,并将此设亘指向该应用程序
#資料上傳到 Data on Heroku
WSGI_APPLICATION = 'testweb.wsgi.application'
				
			

sittings.py設定介紹 DATABASES

				
					import os
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        #'NAME': BASE_DIR / 'db.sqlite3',
        #在根目錄建立'db.sqlite3',join作為連結
        'NAME': os.path.join(BASE_DIR,'db.sqlite3'),
    }
				
			

sittings.py設定介紹 AUTH_PASSWORD_VALIDATORS (#檢查密碼強度)

				
					#檢查密碼強度
AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]
				
			

sittings.py設定介紹 新增部分 LANGUAGE (語系時區)

				
					#LANGUAGE_CODE = 'en-us'
#TIME_ZONE = 'UTC'
#USE_I18N = True
#USE_L10N = True
#USE_TZ = True
#zh-Hant-漢繁體 Hans簡體漢字 Hani 漢字
LANGUAGE_CODE = 'zh-Hant'
TIME_ZONE = 'Asia/Taipei'
USE_I18N = True#默認為True,是否用自動翻譯系統
USE_L10N = True#默認Flase,本地格式顯示數字和時間
USE_TZ = False#預設Ture,若使用本機時間,預設為Flase
				
			

sittings.py設定介紹 STATIC_URL (Images)

				
					#静态文件(static)主要指,CSS , JavaScript , Images这样的文件
STATIC_URL = '/static/'# os.path. join(BASE.DIR, 'static'), # 实际名,即实际文件央的名字
				
			

sittings 設定必備

  • INSTALLED_APPS = [……]
  • DATABASES = {} #sqlite建立
  • LANGE_CODE=”zh-Hant” 時區

設定好後RUN SERVER

				
					python manage.py runserver