创建Django(2.1.15) 工程项目
1. 环境安装
1. 创建虚拟环境
mkvirtualenv helloDjango -p python3
注意需要联网,也可以pycharm直接创建,红色框框后面填写虚拟环境的名称再点击ok
即可
2. 安装Django
pip install django==2.1.15
2.创建工程
在django中,项目工程目录可以借助django提供的命令帮助我们创建。
1.创建工程的命令为:
django-admin startproject 工程名称
例如:创建一个helloDjango的工程:
cd ~/Desktop/code
django-admin startproject helloDjango
执行后,会多出一个新目录名为demo,此即为新创建的工程目录。
2. 工程目录
- 与项目同名的目录,此处为helloDjango。
- settings.py 是项目的整体配置文件。
- urls.py 是项目的URL配置文件。
- wsgi.py 是项目与WSGI兼容的Web服务器入口。
- manage.py 是项目管理文件,通过它管理项目。
3. 运行开发服务器
在开发阶段,为了能够快速预览到开发的效果,django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用。
运行服务器命令如下:
python manage.py runserver ip:端口
或:
python manage.py runserver
或者使用pycharm运行
终端出现以下信息说明运行成功
3.创建子应用
1. 创建
在虚拟环境下切换至对应的目录:
python manage.py startapp 子应用名称
manage.py 为上述创建工程时自动生成的管理文件。
例如,创建一个用户users子应用模块,可执行:
cd ~/Desktop/code/helloDjango
python manage.py startapp users
执行后,可以看到工程目录中多出了一个名为users的子目录。
2. 子应用目录
- admin.py 文件跟网站的后台管理站点配置相关。
- apps.py 文件用于配置当前子应用的相关信息。
- migrations 目录用于存放数据库迁移历史文件。
- models.py 文件用户保存数据库模型类。
- tests.py 文件用于开发测试用例,编写单元测试。
- views.py 文件用于编写Web应用视图。
3. 注册安装子应用
创建出来的子应用目录文件虽然被放到了工程项目目录中,但是django工程并不能立即直接使用该子应用,需要注册安装后才能使用。
在工程配置文件settings.py中,INSTALLED_APPS项保存了工程中已经注册安装的子应用,初始工程中的INSTALLED_APPS如下:
注册安装一个子应用的方法,即是将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表中。
例如,将刚创建的users子应用添加到工程中,可在INSTALLED_APPS列表中添加'users.apps.UsersConfig'
或"users"
都可以。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'users.apps.UsersConfig',
# 'users',
]
4.创建视图
Django的视图是定义在子应用的views.py中的。
- 创建
打开刚创建的users模块,在views.py中编写视图代码。
from django.http import HttpResponse
def index(request):
"""
index视图
:param request: 包含了请求信息的请求对象
:return: 响应对象
"""
return HttpResponse("hello django!")
def hello(request):
"""
index视图
:param request: 包含了请求信息的请求对象
:return: 响应对象
"""
return HttpResponse("hello!!!")
def world(request):
"""
index视图
:param request: 包含了请求信息的请求对象
:return: 响应对象
"""
return HttpResponse("world!!!")
说明:
- 视图函数的第一个传入参数必须定义,用于接收Django构造的包含了请求数据的HttpReqeust对象,通常名为request。
- 视图函数的返回值必须为一个响应对象,不能像Flask一样直接返回一个字符串,可以将要返回的字符串数据放到一个HTTPResponse对象中。
1) 在子应用中新建一个urls.py文件用于保存该应用的路由。
2. 定义路由URL
2) 在users/urls.py
文件中定义路由信息。
from django.conf.urls import url
from django.urls import path
from . import views
# urlpatterns是被django自动识别的路由列表变量
urlpatterns = [
# 每个路由信息都需要使用url函数来构造
# url(路径, 视图)
path(r'index', views.index),
path(r'hello', views.hello),
path(r'index/world', views.world),
]
3) 在工程总路由demo/urls.py中添加子应用的路由数据。
from django.conf.urls import url, include
from django.contrib import admin
from django.urls import path
import users
urlpatterns = [
path('admin/', admin.site.urls),
# 添加
path('', include('users.urls')),
]
4) 启动运行
重新启动django程序
python manage.py runserver 8087
访问127.0.0.1:8087/index
访问127.0.0.1:8087/index/world
django2.0的项目到此就算是搭建完成了!
希望可以帮助到你!!!
ps:虚拟环境和pip的命令
虚拟环境
mkvirtualenv # 创建虚拟环境
rmvirtualenv # 删除虚拟环境
workon # 进入虚拟环境、查看所有虚拟环境
deactivate # 退出虚拟环境
pip
pip install # 安装依赖包
pip uninstall # 卸载依赖包
pip list # 查看已安装的依赖包
pip freeze # 冻结当前环境的依赖包