##新建項目html
django-admin startproject my_site #會在當前目錄新建my_site目錄,可自行修改目錄名 django-admin startproject my_site . #會在當前目錄直接創建my_site項目
項目建立完成後,接着建立app。app至關於網站的功能,每一個app表明網站的一個或多個網頁。python
python managy.py startapp index python managy.py startapp user
啓動服務器mysql
python manage.py runserver
<br> ##基本配置信息 ```python import ossql
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(file)))數據庫
SECRET_KEY = 'o017!*o4nd8(z$8)-n-i-%3c$y#8r2os@j8-#-9n47i2e6q005'django
DEBUG = True瀏覽器
ALLOWED_HOSTS = []服務器
INSTALLED_APPS = [ 'django.contrib.admin', # 內置的後臺管理系統 'django.contrib.auth', # 內置的用戶認證系統 'django.contrib.contenttypes', # 記錄項目中全部model元數據 'django.contrib.sessions', # 用於標識當前訪問網站的用戶身份,記錄相關用戶信息 'django.contrib.messages', # 消息提示功能 'django.contrib.staticfiles', # 查找靜態資源路徑(靜態資源指在網站中不會改變的文件,如CSS文件、JavaScript文件、圖片等) 'index', # 本身定義的app 'user', ]session
###### 在中文版中,「應用程序」對應於「application」,「應用」對應於「app」。在通常的 Web 開發中,這兩者幾乎沒什麼區別,可是在 Django 中兩者有一個明顯的區別:application 是指一個完整的 Web 程序,而 app 是指一個可複用的包,能夠「插入」其餘Django 應用程序中。 <br> ##靜態資源 靜態資源指在網站中不會改變的文件,如CSS文件、JavaScript文件、圖片等,這些文件的存放主要由settings.py配置,配置信息以下: ```python # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/2.2/howto/static-files/ STATIC_URL = '/static/'
上述配置文件將靜態資源放在文件夾static,而static文件夾只能放在App裏面。瀏覽器輸入http://127.0.0.1:8000/static/01.png會顯示圖片。若把static文件夾放在根目錄會顯示404。若要放在根目錄,則要在settings.py中配置STATICFILES_DIRS屬性oracle
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]
配置好之後在瀏覽器中輸入http://127.0.0.1:8000/static/01.png即會顯示圖片 <br> ##模板路徑 模板是一種特殊的html文檔,其嵌入了一些python能識別的變量和指令,程序解析這些指令,生成HTML網頁返回給用戶瀏覽。
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', #定義模板引擎,用於識別模板裏的變量和指令。 'DIRS': [], #設置模板所在路徑 'APP_DIRS': True, #是否在App裏查找模板文件 'OPTIONS': { #用於填充在RequestContext中上下文的調用函數,通常不作修改 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
模板配置通常配置DIRS便可。在項目的根目錄和index文件夾內分別建立templates文件夾,配置以下
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates'), os.path.join(BASE_DIR, 'index/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', ], }, }, ]
<br> ##數據庫配置 Django提供四種數據庫引擎: 'django.db.backends.postgresql' 'django.db.backends.mysql' 'django.db.backends.sqlite3' 'django.db.backends.oracle' 默認使用Sqlite3數據庫 ```python # Database # https://docs.djangoproject.com/en/2.2/ref/settings/#databases
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
若要使用MySQL,先安裝MySQL鏈接模塊mysqlclient(直接使用pip安裝便可),接着在MySQL新建數據庫
SHOW DATABASES; CREATE DATABASE my_db CHARACTER SET utf8;
而後在settings.py中進行配置:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'my_db', 'USER': 'root', 'PASSWORD': '123456', 'HOST': '127.0.0.1', 'POST': '3306', } }
<br> ##中間件 ```python 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', ] ```