资讯专栏INFORMATION COLUMN

Django基础架构介绍

IT那活儿 / 1417人阅读
Django基础架构介绍

点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!!



01


Django模式


Django是一个web框架,python编写的。
MTV模式
Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同:
-M代表模型(Model ):负责业务对象和数据库的关系映射(ORM)
-T代表模板(Template):负责如何把页面展示给用户(html)
-V代表视图(View ) :负责业务逻辑,并在适当时候调用Model和Template

client(客户端)-->请求(url)--> server(服务器的urlconf)-->views(视图,相当于函数,客户机访问url,每次的访问都有相应的函数对应)-->model(数据库,增删改查)-->views(修改数据库后再返回信息给视图,数据交互)-->Template(web页面)-->client




02


创建python虚拟环境


2.1 配置pip文件

(django_env) [root@django ~]# cat .pip/pip.conf
[global]
index-url = http://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.com

2.2 虚拟环境安装

mkdir pyproject
cd pyproject/
python3 -m venv django_env #在当前目录创建虚拟环境(Django_env 名字可以变)
source django_env/bin/activate #激活虚拟环境
pip install django==1.11.6        #在虚拟环境中安装Django==1.11.6
(django_env) [root@localhost pyproject]# python #验证
Python 3.6.4 (default, Apr 27 2018, 08:26:23)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.__version__
1.11.6



03


Django项目创建



django-admin startproject mysite   #创建项目
(django_env) [root@localhost pyproject]# cd mysite
(django_env) [root@localhost mysite]# tree   ---#Django的目录结构
.
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py

执行文件介绍:

  • mysite:项目的容器。

  • manage.py:一个使用的命令行工具,可让你以各种方式与该django项目进行交互。(项目的管理目录)

  • mysite/__init__.py:一个空文件,告诉python该目录是一个python包(项目的初始化文件)

  • mysite/settings.py:该django项目的设置/配置。(项目的配置文件)

  • mysite/urls.py:该django项目的URL声明;一份由django驱动的网站“目录”。(项目的路由文件)

  • mysite/wsgi.py:一个WSGI兼容的Web服务器的入口,以便运行你的项目。(将网站部署到web服务器时使用的文件)

  • python manage.py runserver 0.0.0.0:8000   #运行项目

  • 127.0.0.1:8000  #查看项目



04


Django配置


4.1 创建数据库 

CREATE DATABASE django DEFAULT CHARSET UTF8;

4.2 配置 setting.py

(配置完成后页面变成中文)
ALLOWED_HOSTS = [*] # 允许所有的客户端访问
DATABASES = { ALLOWED_HOSTS = [*] # 允许所有的客户端访问
DATABASES = {
default: {ENGINE: django.db.backends.mysql,
NAME: django,
USER: root,
PASSWORD: 数据库root密码,
HOST: 127.0.0.1,
PORT: 3306, }
}
LANGUAGE_CODE =zh-hans   #中文
TIME_ZONE =Asia/Shanghai
USE_TZ = False
default: {ENGINE: django.db.backends.mysql,
NAME: django,
USER: root,
PASSWORD: 数据库root密码,
HOST: 127.0.0.1,
PORT: 3306, }
}
LANGUAGE_CODE =zh-hans   #中文
TIME_ZONE =Asia/Shanghai
USE_TZ = False

4.3 配置__init__.py

(要先安装pymysql模块)
import pymysql
pymysql.install_as_MySQLdb()

4.4 运行查看 

# 重新运行测试服务器,监听在0.0.0.0的80端口。
注意:如果不是root,不能监听1024以下端口。
[root@room8pc16 mysite]# python manage.py runserver 0:80

4.5 生成数据

[root@room8pc16 mysite]#python manage.py makemigrations  #会生成一些相应的sql
[root@room8pc16 mysite]# python manage.py migrate        #生成表

4.6 创建管理员 

[root@room8pc16 mysite]# python manage.py createsuperuser #密码要求复杂度和长度
 查看页面:


05


使用Django创建应用


5.1 创建应用

(对应的一个个的功能模块,使用一个投票为例子)
[root@room8pc16 mysite]# python manage.py startapp polls #创建应用(可以集成到任何的一个项目中)

5.2 在settings配置文件中声明应用

(把应用集成在项目中)
INSTALLED_APPS = [
django.contrib.admin,
django.contrib.auth,
django.contrib.contenttypes,
django.contrib.sessions,
django.contrib.messages,
django.contrib.staticfiles,
polls           #添加的应用
]

5.3 授权

1)把应用的url交给投票应用处理,都在项目下的urls.py的这个文件就会特别大。
polls/urls.py
from django.conf.urls import url, include
from django.contrib import adminurlpatterns = [
# 正则匹配时,从http://x.x.x.x/后面开始算起
# 正则匹配时,从http://x.x.x.x/polls
url(r^admin/, admin.site.urls),
url(r^polls/, include(polls.urls)), #其中r意思真实字符串相当于shell中的单引号
]
2)在polls目录下没有urls.py文件就创建一个。
[root@django polls]# touch urls.py
vim polls/urls.py
from django.conf.urls import url
urlpatterns = [
]



end



本文作者:周世豪

本文来源:IT那活儿(上海新炬王翦团队)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129647.html

相关文章

  • Django2.2图文教程

    摘要:事实上,社区成员给了他一个荣誉称号终生仁慈独裁者。说明图片来源百度。安装终端下或是在里面,命令相同。同步数据库在终端中执行此命令执行完成后,会在下生产记录变动的记录。此时数据库并未变动,然后执行这样的变动,立即同步到数据库中。 原文链接 1.准备工作 开发环境: python: 3.7.3 下载地址:https://www.python.org/downlo... pip: pip...

    roundstones 评论0 收藏0
  • Python测试开发中Django和Flask框架的区别

    摘要:在谈中框架和框架的区别之前,我们需要先探讨如下几个问题。通过大数据统计分析全球著名的网站对和这两个框架的调查分析。从全球著名的代码托管平台上的和数量上分别为,分别为。 在谈Python中Django框架和Flask框架的区别之前,我们需要先探讨如下几个问题。 一、为什么要使用框架? showImg(https://segmentfault.com/img/remote/14600000...

    B0B0 评论0 收藏0
  • 运用Python建立第一位Django架构程序流程

      本文主要是阐述了运用Python建立第一位Django架构程序流程,文章内容紧扣主题进行详尽的基本介绍,具有很强的实用价值,感兴趣的朋友可以了解一下  一.系统变量  鼠标右键电脑–>>特性–>>高端系统配置–>>高端–>>系统变量–>>  设定PATH特...

    89542767 评论0 收藏0
  • 通过demo学习OpenStack开发所需的基础知识 -- 数据库(1)

    摘要:另外,项目在单元测试中使用的是的内存数据库,这样开发者运行单元测试的时候不需要安装和配置复杂的数据库,只要安装好就可以了。而且,数据库是保存在内存中的,会提高单元测试的速度。是实现层的基础。项目一般会使用数据库来运行单元测试。 OpenStack中的关系型数据库应用 OpenStack中的数据库应用主要是关系型数据库,主要使用的是MySQL数据库。当然也有一些NoSQL的应用,比如Ce...

    warnerwu 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<