web工程搭建

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/geek64581/article/details/102624206

web工程搭建

第一章 环境安装

1.1 虚拟环境

一个Python无法满足不同应用程序的要求。如果应用程序A需要特定模块的1.0版本但应用程序B需要2.0版本,则需求存在冲突,安装版本1.0或2.0将导致某一个应用程序无法运行。
这个问题的解决方案是创建一个虚拟环境,每个环境里有独立的python和包,不同的虚拟环境之间的python和包相互隔离。

1.2 虚拟环境命令

mkvirtualenv 虚拟环境名称 -p python3 # 创建虚拟环境
workon # 进入虚拟环境、查看所有虚拟环境
deactivate # 退出虚拟环境
rmvirtualenv 虚拟环境名称 # 删除虚拟环境

1.3 安装环境

  1.3.1 创建虚拟环境

mkvirtualenv django_py3_1.11 -p python3 # 需要联网

  1.3.2 安装Django

先进入虚拟环境 workon django_py3_1.11
pip install django==1.11.11

第二章 创建工程

在django中,项目工程目录可以借助django提供的命令帮助我们创建。

2.1 创建工程的命令为:

django-admin startproject 工程名称

例如:想要在桌面的code目录中创建一个名为demo的项目工程,可执行如下命令:

cd ~/Desktop/code
django-admin startproject demo

执行后,会多出一个新目录名为demo,此即为新创建的工程目录。

2.2 运行开发服务器

在开发阶段,为了能够快速预览到开发的效果,django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用。

运行服务器命令如下:

python manage.py runserver
或:
python manage.py runserver ip:端口

可以不写IP和端口,默认IP是127.0.0.1,默认端口为8000。

启动后可见如下信息:
在这里插入图片描述
在浏览器中输入网址“127.0.0.1:8000”便可看到效果。
在这里插入图片描述

  • 按ctrl+c停止服务器。

2.3 工程目录说明

查看创建的工程目录,结构如下
在这里插入图片描述

  • 与项目同名的目录,此处为demo。
  • settings.py 是项目的整体配置文件。
  • urls.py 是项目的URL配置文件。
  • wsgi.py 是项目与WSGI兼容的Web服务器入口。
  • manage.py 是项目管理文件,通过它管理项目。

第三章 pycharm打开项目

3.1 点击"Open", 选择目录
在这里插入图片描述
3.2 选择Python解释器
在这里插入图片描述
在这里插入图片描述
3.3 运行项目–方式1
在这里插入图片描述
3.4 如果在项目里执行过其他文件,下次再运行该项目的时候,下拉选择项目名称再点击运行

在这里插入图片描述
3.5 运行项目–方式2

 3.5.1 右键运行manage.py文件
在这里插入图片描述
 3.5.2 然后下拉选择 manage 并选择"Edit"
在这里插入图片描述
 3.5.3 添加参数runserver
在这里插入图片描述

第四章 创建子应用

在Web应用中,通常有一些业务功能模块是在不同的项目中都可以复用的,故在开发中通常将工程项目拆分为不同的子功能模块,各功能模块间可以保持相对的独立,在其他工程项目中需要用到某个特定功能模块时,可以将该模块代码整体复制过去,达到复用。

Django的视图编写是放在子应用中的。

4.1 创建子应用

在django中,创建子应用模块目录仍然可以通过命令来操作,即:

python manage.py startapp 子应用名称

manage.py 为上述创建工程时自动生成的管理文件。

例如,在刚才创建的demo工程中,想要创建一个用户users子应用模块,可执行:

cd ~/Desktop/code/demo
python manage.py startapp users

执行后,可以看到工程目录中多出了一个名为users的子目录。

4.2 子应用目录说明

查看此时的工程目录,结构如下:
在这里插入图片描述

  • admin.py 文件跟网站的后台管理站点配置相关。
  • apps.py 文件用于配置当前子应用的相关信息。
  • migrations 目录用于存放数据库迁移历史文件。
  • models.py 文件用户保存数据库模型类。
  • tests.py 文件用于开发测试用例,编写单元测试。
  • views.py 文件用于编写Web应用视图。

4.3 注册安装子应用

创建出来的子应用目录文件虽然被放到了工程项目目录中,但是django工程并不能立即直接使用该子应用,需要注册安装后才能使用。

在工程配置文件settings.py中,INSTALLED_APPS项保存了工程中已经注册安装的子应用,初始工程中的INSTALLED_APPS如下:
在这里插入图片描述
注册安装一个子应用的方法,即是将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表中。

例如,将刚创建的users子应用添加到工程中,可在INSTALLED_APPS列表中添加’users.apps.UsersConfig’。
在这里插入图片描述

第五章 创建视图

同Flask框架一样,Django也用视图来编写Web应用的业务逻辑。
Django的视图是定义在子应用的views.py中的。

5.1 创建视图

打开刚创建的users模块,在views.py中编写视图代码。

from django.http import HttpResponse

def index(request):
    """
    index视图
    :param request: 包含了请求信息的请求对象
    :return: 响应对象
    """
    return HttpResponse("hello the world!")

在这里插入图片描述

  • 视图函数的第一个传入参数必须定义,用于接收Django构造的包含了请求数据的HttpReqeust对象,通常名为request。
  • 视图函数的返回值必须为一个响应对象,可以将要返回的字符串数据放到一个HTTPResponse对象中。

5.2 定义路由URL

 5.2.1 在子应用中新建一个urls.py文件用于保存该应用的路由。
在这里插入图片描述
 5.2.2 在users/urls.py文件中定义路由信息。

from django.conf.urls import url

from . import views

# urlpatterns是被django自动识别的路由列表变量
urlpatterns = [
    # 每个路由信息都需要使用url函数来构造
    # url(路径, 视图)
    url(r'^index/$', views.index),
]

 5.2.3 在工程总路由demo/urls.py中添加子应用的路由数据。

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),  # django默认包含的

    # 添加
    url(r'^users/', include('users.urls')), 
]
  • 使用include来将子应用users里的全部路由包含进工程路由中;
  • r’^users/’ 决定了users子应用的所有路由都以/users/开头,如我们刚定义的视图index,其最终的完整访问路径为/users/index/。

include函数除了可以传递字符串之外,也可以直接传递应用的urls模块,如

from django.conf.urls import url, include
from django.contrib import admin
import users.urls  # 先导入应用的urls模块

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    # url(r'^users/', include('users.urls')),
    url(r'^users/', include(users.urls)),  # 添加应用的路由
]

注意点:

1.	子路由里的urlpatterns单词变量名是固定的,注意不要打错
2.	总路由里的url(r'^users/'...) 不能定义成url(r'^users/$'...) ,后面不能加上结束符$, 否则进不了子路由
  • 子应用里创建urls.py
  • 子路由里定义 路径和函数的关系 url(路径, 函数)
  • 总路由里将子路由 include(‘users.urls’)

第六章 配置文件

6.1 BASE_DIR

当前工程的根目录,Django会依此来定位工程内的相关文件,我们也可以使用该参数来构造文件路径。
在这里插入图片描述
6.2 DEBUG

调试模式,创建工程后初始值为True,即默认工作在调试模式下。
作用:Django程序出现异常时,向前端显示详细的错误追踪信息,
在这里插入图片描述
在这里插入图片描述
注意:部署线上运行的Django不要运行在调式模式下,记得修改DEBUG=False。

猜你喜欢

转载自blog.csdn.net/geek64581/article/details/102624206