django 是一个为面临交付时间约束的完美主义者设计的 Python Web Framework 。Django 的发音为“姜戈”,官方 提供了一段。
根据当前最新的调查(),有70%的开发者会在新项目中使用最新的稳定版本,并且有44%的开发者会在每一个稳定版本发布时对自己的项目进行升级。另外,Django 开发者比普通的 Python 开发者更倾向于使用新版的 Python。
Django 上列出了版本计划,目前最新稳定版为 4.1.7, 本系列笔记将以此版为准。
安装最新的稳定版本:
pip install django
或者,指定安装的版本:
pip install django==4.1.7
验证安装的版本:
python -m django --version
4.1.7
或者:
>>> import django
>>> print(django.get_version())
4.1.7
以下在 Python 虚拟环境完成,参考。
(.djenv) C:\django-projects>django-admin startproject mygarage
(.djenv) C:\django-projects\mygarage>python manage.py startapp bicycle
INSTALLED_APPS
,添加 ‘bicycle’ 应用 :INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'bicycle',
]
(.djenv) PS C:\django-projects\mygarage> c:; cd 'c:\django-projects\mygarage'; & 'c:\django-projects\.djenv\Scripts\python.exe' 'c:\Users\user\.vscode\extensions\ms-python.python-2023.4.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher' '15473' '--' 'C:\django-projects\mygarage\manage.py' 'runserver'
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
March 16, 2023 - 13:15:16
Django version 4.1.7, using settings 'mygarage.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
因为没有配置数据库,所以会有 “You have 18 unapplied migration(s)…” 的错误提示,先不用管它。用浏览器打开 http://127.0.0.1:8000/ ,可以看到 django 已成功运行的页面。
from django.urls import path
from .views import my_bicycle # 'my_bicycle' 是稍后我要创建的视图
urlpatterns = [
path('', my_bicycle),
]
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('bicycle/', include('bicycle.urls')), # 增加这一行
]
然后,在 bicycle/views.py 中编写视图 my_bicycle
:
from django.http import HttpResponse
def my_bicycle(request):
return HttpResponse('<h1>This is my bicycle.</h1>')
运行项目,打开 http://127.0.0.1:8000/bicycle/ 即可看到:
至此,Django 开箱完成。