Django入门手册
###第1部分###
源代码地址:djProject: 这是我入门Django用的项目,其中功能包含有项目初始化设置、mysql的数据库建立、增删改查、图片的上传与显示等等
新建项目
选择包含Django库的虚拟环境。
它和django-admin startproject djProject
同理。
初始化后的路径如图所示:
这里引用官方文档,官方文档的“mysite”指代“djProject”
这些目录和文件的用处是:
- 最外层的
mysite/
根目录只是你项目的容器, 根目录名称对 Django 没有影响,你可以将它重命名为任何你喜欢的名称。 manage.py
: 一个让你用各种方式管理 Django 项目的命令行工具。你可以阅读 django-admin 和 manage.py 获取所有manage.py
的细节。- 里面一层的
mysite/
目录包含你的项目,它是一个纯 Python 包。它的名字就是当你引用它内部任何东西时需要用到的 Python 包名。 (比如mysite.urls
). mysite/__init__.py
:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。如果你是 Python 初学者,阅读官方文档中的 更多关于包的知识。mysite/settings.py
:Django 项目的配置文件。如果你想知道这个文件是如何工作的,请查看 Django 配置 了解细节。mysite/urls.py
:Django 项目的 URL 声明,就像你网站的“目录”。阅读 URL调度器 文档来获取更多关于 URL 的内容。mysite/asgi.py
:作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口。阅读 如何使用 ASGI 来部署 了解更多细节。mysite/wsgi.py
:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。阅读 如何使用 WSGI 进行部署 了解更多细节。
设置时区和语言
在settings.py中设置
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = False
LANGUAGE_CODE = 'zh-hans'
新建app
在最外层的目录,也就是包含manage.py
的目录下运行:
python manage.py startapp web
这个app的结构如图所示。
编写第一个网页
- 修改app的
views,py
,例如:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
- 在app目录下新建
urls.py
,并编辑
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
- 在根URLconf文件(
djProject.urls
)下插入一个include
第一个参数route是用来匹配域名的;第二个参数view用于调用特定的视图函数。
from django.contrib import admin
from django.urls import include,path #导入include
urlpatterns = [
path('web/', include('web.urls')), #新添加,web为我加的app
path('admin/', admin.site.urls),
]
- 运行项目
python manage.py runserver
注意⚠️:如果需要将新建的app都同意放入一个文件夹下,例如apps文件夹,那么需要在settings.py中加入一行,添加路径。
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
运行项目
在最外层的目录,也就是包含manage.py
的目录下运行:
python manage.py runserver
//py manage.py runserver 8080