暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Django基础架构介绍

IT那活儿 2022-03-02
853

点击上方“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 pyprojectcd 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 linuxType "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 pymysqlpymysql.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.pyfrom django.conf.urls import url, includefrom django.contrib import adminurlpatterns = [# 正则匹配时,从http://x.x.x.x/后面开始算起# 正则匹配时,从http://x.x.x.x/pollsurl(r'^admin/', admin.site.urls),url(r'^polls/', include('polls.urls')), #其中r意思真实字符串相当于shell中的单引号]
2)在polls目录下没有urls.py文件就创建一个。
[root@django polls]# touch urls.pyvim polls/urls.pyfrom django.conf.urls import urlurlpatterns = []



end


本文作者:周世豪

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

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论