djano框架和要点2.工程搭建

本文详细介绍了如何搭建Django工程,包括环境安装、工程创建、子应用创建以及视图的创建。在环境安装部分,讲解了虚拟环境的创建和管理,以及Django的安装。在工程搭建环节,阐述了工程目录结构和开发服务器的运行。接着,文章探讨了如何创建和注册子应用,以及子应用的目录结构和作用。最后,介绍了视图的创建和URL路由的定义,强调了视图函数和响应对象的重要性。

环境安装

1.创建虚拟环境

mkvirtualenv django_py3_1.11 -p python3

2.安装django

使用django1.11.11版本

pip install django==1.11.11

3.复习虚拟环境和pip命令

虚拟环境
mkvirtualenv 创建虚拟环境
rmvirtualenv 删除虚拟环境
workon 进入虚拟环境 查看所有虚拟环境
deactivate 退出虚拟环境

创建工程

创建

创建工程命令为:

django-admin startproject 工程名称

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

cd /Desktop/code
django-admin startproject demo

工程目录说明

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

运行开发服务器

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

python manage.py runserver

可以不写ip和端口,默认ip是127.0.0.1,默认端口是8000
django默认工作在调试Debug模式下,如果增加修改删除文件,服务器会自动重启

创建子应用

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

1.创建

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

python manage.py startapp 子应用名称

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

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

2.子应用目录说明

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

3.注册安装子应用

创建出来的子应用目录文件虽然被放到了工程项目目录中,但是django工程并不能立即直接使用该子应用,需要注册安装后才能使用.
在工程配置文件settings.py中,INSTALLED_APPS项保存了工程中已经注册安装的子应用,初始工程中的INSTALLED_APPS如下:
子应用注册位置
注册安装一个子应用的方法,是将子应用的配置信息文件apps.py中的Config类添加到INSTALLES_APPS列表中
例如:将刚创建的users子应用添加到工程中,可在INSTALLED_APPS列表中添加’users.apps.UsersConfig’
注册子应用成功

创建视图

django中的视图是用来编写web应用的业务逻辑,django视图时定义在子应用的views.py中

1.创建

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

from django.http import HttpResponse
def index(request):
    index视图
    param request :包含请求信息的请求对象
    return:响应对象
    return HttpResponse('hello')

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

定义路由URL

1.在子应用中新建一个urls.py文件用于保存该应用的路由
2.在users/urls.py文件中定义路由信息

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

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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值