一、安装django
1.创建隔离的python环境
直接使用pycharm创建虚拟环境my_env
创建的目录,包含自身的python二进制文件,可独立持有自己的包
2.利用pip安装Django
点击 Pycharm下面终端进入虚拟环境。如果没有(venv)字样,点击倒三角,选择Command Prompt来进入虚拟环境
然后输入pip install django==3.0.4
来安装我们需要的django版本
二、创建第一个项目
1.项目创建
django-admin startproject mysite
这将创建一个名为mysite的django项目
- manage.py 表示为命令行工具,并与当前项目进行交互;同时也是一个django-admin.py工具的封闭器。用户无需编辑此文件。
- mysite/表示为项目目录,其中包含了以下文件:
- __init__.py表示为一个空文件,并通知python将mysite目录视为一个python模块。
- asgi.py表示为作为ASGI运行项目的配置,ASGI是用于异步WEB服务器和应用程序的新兴Python标准。
- settings.py表示当前项目的设置和配置项,并包含了初始状态下的默认配置内容。
- urls.py中包含了Url路径。其中,每个定义的URL将映射至一个视图上。
- wsgi.py配置为WEB服务器网关接口(WSGI)应用程序运行项目。
2.项目数据库生成
生成的settings.py文件涵盖了当前项目设置。其中包含基本设置,并默认使用SQLite3数据库及INSTALLED_APPSG列表,这其中包含默认状态下添加到当前项目中的公共Django应用程序。
Django应用程序包含了定义数据模型的models.py文件,每个数据模型将被映射至数据库表上,为了完成项目设置,我们需要在数据库中创建INSTALLED_APPS中列出的应用程序所需的表。
cd mysite
python manage.py migrate
上述代码表示Django所用的数据库迁移,初始状态下的应用程序表将在数据库中被创建!
3.运行项目
python manage.py runserver
对应输出结果如下所示:
在浏览器中运行上面网址:http://127.0.0.1:8000/,随后将显示项目运行成功页面。
此外我们还可以指定Django在自定义的主机和端口上运行开发服务器; 或者通知Django运行项目,同时加载不同的设置文件,如下所示 :
python manage.py runserver 127.0.0.1:8001 --setting=mysite.settings
三、项目设置settings.py
全部设置项可访问https://docs.djangoproject.com/en/3.0/ref/settings查看,下面列了一些格外重要的设置荐:
- DEBUG 表示开启/禁用当前项目的调试模式。
- ALLOWED_HOSTS设置域/主机信息,以允许它为Django站点服务,当DEBUG设置为True时,不可用。
- INSTALLED_APPS为需要针对全部项目进行编辑的设置项,该设置项通知Django当前站点哪一个应用处于活动状态,在默认状态下,Django包含以下应用程序。
- django.contrib.admin 管理站点
- django.contrib.auth 验证框架
- django.contrib.contenttypes 处理内容类型的框架
- django.contrib.sessions会话框架
- django.contrib.messages消息机制框架
- django.contrib.staticfiles管理静态文件的框架
- MIDDLEWARE表示为中间件列表
- ROOT_URLCONF表示python模块,其中定义了应用程序的要URL路径
- DATABASES表示为一个字典,涵盖了应用程序所使用的全部数据库设置,默认是SQLite3
- LANGUAGE_CODE设置默认语言代码
- USE_TZ启用/禁用时区功能
四、创建应用程序
python manage.py startapp blog
以上代码创建了一个名为blog的应用程序。
上述文件具体解释如下:
- admin.py文件,可在该文件中注册模型,并将其纳入Django管理站点中——使用Django管理站点为可选项。
- apps.py文件,包含了博客应用程序中的主要配置内容。
- migrations目录,包含了应用程序的数据库迁移。迁移可使Django跟踪模块变化内容,并相应的同步数据库。
- models.py文件,包含了应用程序的数据模型。
- tests.py文件,可在该文件中添加应用程序测试。
- views.py文件,该文件包含了应用程序的逻辑内容,每个视图接收一个HTTP请求,经处理后返回一个响应结果。