Django入门项目创建、配置
1. Django安装与使用
1.1 安装虚拟环境
1.命令安装 pip install virtuanenv
(1)创建虚拟环境:virtualenv -p python e:/...
(2)找到安装的虚拟环境下 (我自己的)E:\virtualenv\webenv\Scripts
(3)进入虚拟环境命令:activate
(4)退出环境命令:deactivate
1.2 Django安装
1. pip install django==1.11
2. 查看版本:django-admin --version
3. 在项目文件下创建django :django-admin startproject 项目名称
3. 启动项目:python manage.py runserver
1.3 Django的使用与配置
-
创建项目文件。
-
在项目文件下创建django :django-admin startproject 项目名称
-
在项目名称目录下创建子模块:django-admin startapp 子模块名称
-
在根目录下的setting文件中,更改编码以及添加子模块注册表:
LANGUAGE_CODE = 'zh-Hans'
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'子模块名称',
]
- 在子模块中创建路由文件(建议名称为 urls.py)
在urls.py文件中导入:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^index/$', views.index, name='index'),
url(r'^login/$', views.login, name='login'),
url(r'^register/$', views.register, name='register'),
]
备注:from django.conf.urls import url
URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。
你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。
官方介绍:
https://docs.djangoproject.com/en/1.11/topics/http/urls/
- 在子模块中的views.py文件中导入:
from django.http import HttpResponse
创建各个视图方法
- 在根目录文件夹下的urls.py中配置二级路由
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include("blog.urls")),
#在一级路由中配置了二级路由
url(r'^blog/', include("blog.urls")),
]
- 在Django项目目录下,输入命令:python manage.py runserver
启动服务
1.4 Django文件介绍
mysite项目名称
mysite #根模块
init.py #包的描述文件
settings.py #项目的配置文件
urls.py #路由匹配文件
wsgi.py #django实现wsgi web网关接口文件,不能动
自定义name #子模块
migrations #同步数据的迁移文件的文件夹
init.py #模块描述文件
admin.py #后台管理系统用来管理子模块中的模型类的文件
views.py #子模块的视图文件
urls.py #子模块的路由文件,自己创建
models.py #定义模型类
tests.py #测试文件
apps.py #定义子模块项目项的文件
manage.py #项目的管理文件
2. Web软件的架构
2.1 MVC处理流程
在传统的web软件中,大多使用MVC的处理流程。
名称 | 描述 |
---|---|
M(model) 模型 | 类、以及跟数据库相关的代码 |
V(view) 视图 | 页面 |
C(controller)控制器 | 接受参数,分发请求 |
目的:
解耦和,利于代码的键壮性、扩展性、维护性
分层管理:
可以使代码高内聚、低耦合
l 耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息
l 内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。
2.2 Django的MVT处理流程
名称 | 描述 |
---|---|
m表示model | 负责与数据库交互 |
v 表示view | 负责接收请求、获取数据、返回结果 |
t 表示template | 负责呈现内容到浏览器 |
网友评论