Django学习之路(一)--初识django
1.先創建虛擬環境
為什么要創建虛擬環境呢?
你有兩個項目同時進行,一個需要pytnon3.9和Django3.x版本的,一個需要python3.7和Django2.x版本的,不進行環境隔離的話,運行很麻煩,還不懂的話可以自行百度
可以用virtualenv(虛擬環境包)
2.兼容性問題
2.1Django對python版本的兼容性問題
| 發布系列 | 最新發布 | 主流支持結束 | 擴展支持結束 |
|---|---|---|---|
| 3.2(LTS) | 3.2.10 | 2021年12月 | 2024年4月 |
| 2.2(LTS) | 2.2.25 | 2019年12月2日 | 2022年4月 |
| 1.11(LTS) | 1.11.29 | 2017年12月2日 | 2020年4月1日 |
| 1.8(LTS) | 1.8.19 | 2015年12月1日 | 2018年4月1 日 |
| 1.4(LTS) | 1.4.22 | 2013年2月26日 | 2015年10月1日 |
未來版本
| 發布系列 | 發布日期 | 主流支持結束 | 擴展支持結束 |
|---|---|---|---|
| 4.2(LTS) | 2023年4月 | 2023年12月 | 2026年4月 |
官方對照表: https://www.djangoproject.com/download/#supported-versions.
推薦這幾個版本
Django 2.2 LTS(長期支持版本)
Django 3.2 LTS(長期支持版本)
Django 4.2 LTS(長期支持版本)
2.1Django對python版本的兼容性問題
| Django 版本 | Python版本 |
|---|---|
| 2.2 | 3.5、3.6、3.7、3.8(2.2.8中增加)、3.9(2.2.17中增加) |
| 3.0 | 3.6、3.7、3.8、3.9(在 3.0.11 中添加) |
| 3.1 | 3.6、3.7、3.8、3.9(在3.1.3中添加) |
| 3.2 | 3.6、3.7、3.8、3.9、3.10(在3.2.9中添加) |
官方文檔: https://docs.djangoproject.com/en/3.2/faq/install/#faq-python-version-support.
3.創建項目
django-admin startproject web
此時目錄
|-- web
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
`-- manage.py
目錄說明:
- web: 項目的容器。
- manage.py: 一個實用的命令行工具,可讓你以各種方式與該 Django 項目進行交互。
- web/__init__.py: 一個空文件,告訴 Python 該目錄是一個 Python 包。
- web/settings.py: 該 Django 項目的設置/配置。
- web/urls.py: 該 Django 項目的 URL 聲明; 一份由 Django 驅動的網站"目錄"。
- web/wsgi.py: 一個 WSGI 兼容的 Web 服務器的入口,以便運行你的項目。
cd web #進入目錄
python manage.py startapp myhome #新建myhome app
python manage.py startapp myadmin #新建myadmin app
數據庫使用版本mysql5.7.25
4.更改配置文件
進入到web/settings.py文件中
修改
ALLOWED_HOSTS = ['*']
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','myadmin',# 自定義的APP'myhome'# 自定義的APP
]
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR,'templates')],#是指到 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',],},},
]
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', # 數據庫引擎'NAME': 'bookshop',#選擇數據庫的名,請確認你的mysql中有這個庫'USER':'root', # 數據庫登錄用戶名'PASSWORD':'123456', # 數據庫密碼'HOST':'localhost',#數據庫主機IP,如保持默認,則為127.0.0.1'PORT':'3306', # 數據庫端口號,如保持默認,則為3306}
}
LANGUAGE_CODE = 'zh-Hans'#把英文改為中文
TIME_ZONE = 'Asia/Shanghai'#設置時區
USE_I18N = True #默認為True,是否啟用自動翻譯系統
USE_L10N = True# 默認False,以本地化格式顯示數字和時間
USE_TZ = False# 默認值True。若使用了本地時間,必須設為False
STATIC_URL = '/static/'
STATICFILES_DIRS=[os.path.join(BASE_DIR,'static')
]
5.增加templates文件夾和static文件夾
|-- myadmin
|-- myhome
|-- static
|-- templates
|-- web
|-- manage.py
6.添加數據庫
mysql -u root -p
create database bookshop default charset=utf8mb4;
7.給myadmin和myhome添加頁面
web/myadmin/views.py
修改以下內容:
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):return HttpResponse("網站的后臺頁面")
web/myhome/views.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):return HttpResponse("網站的前臺頁面")
8.添加路由
web/web/urls.py
from django.contrib import admin
from django.urls import path,includeurlpatterns = [#path('admin/', admin.site.urls),path('myadmin/', include('myadmin.urls')),path('', include('myhome.urls')),
]
新建urls.py文件
web/myhome/urls.py
from django.urls import path
from . import viewsurlpatterns = [path('', views.index,name="myhome_index"),
]
web/myadmin/urls.py
from django.urls import path
from . import viewsurlpatterns = [path('', views.index,name="myadmin_index"),
]
9.運行
python manage.py runserver 0.0.0.0:80
可能會報錯import MySQLdb as Database ModuleNotFoundError: No module named 'MySQLdb'
pip install mysqlclient
總結
以上是生活随笔為你收集整理的Django学习之路(一)--初识django的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c/c++ 如何输入带空格的字符串
- 下一篇: 二叉树的前序、中序、后序非递归遍历 py