美文网首页
Django-使用MVC模式搭建web服务器

Django-使用MVC模式搭建web服务器

作者: YI_YI_ | 来源:发表于2019-02-15 11:36 被阅读0次

MVC思想

MVC设计模式.jpg

设计文件结构

MVC文件目录.png

View层级(templates文件夹下)

(1)创建hello.html文件
<!DOCTYPE html>
<html>

<head>
    <title>首页</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
</head>
<body class="geEditor">
    <h1>Hello World</h1>
    <h1>{{hello}}</h1>

</body>
</html>

Controller层级(HelloWorld文件下)

(1)在settings.py文件中主要修改DIRS属性,文件的路径设置
'DIRS': [os.path.join(BASE_DIR, 'templates')],
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
(2)在urls.py文件中配置hello.html文件路径
from django.conf.urls import url
from HelloWorld.view import hello

from . import view
urlpatterns = [
    url(r'^hello/$',hello)
]
(3)结果:
hello.html展示成功.png

Model层级

(1):在settings.py中配置MySQL连接信息

DATABASES = {
     'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':'test_hong',
        'USER':'root',
        'PASSWORD':'123456',
        'HOST':'localhost',
        'PORT':'3306',
    }
}
(2)定义模型

Django规定如果要使用模型,必须创建一个APP

命令创建APP:django-admin startapp TestModel

TestModel文件夹自动生成


生成app.png
(3)设置模型信息,修改models.py信息
# models.py
from django.db import models

class Test(models.Model):
    name = models.CharField(max_length=20)

1.类名代表了,数据库表名
2:name 代表了字段
3: 数据类型由CharField(相当于varchar)
4:max_length限定参数长度

(4)添加TestModel在settings.py文件中

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'TestModel'
]

(5) 创建表的结构
命令:python manage.py migrate

出现错误

error.png
解决方法:
在_init_.py文件中,添加
import pymysql
pymysql.install_as_MySQLdb()

然后 接着运行 python manage.py migrate

结果:
python 创建表.png

数据库结果:


生成表结果.png
(6)创建model对象
命令 - python manage.py makemigrations TestModel

结果:


生成model对象.png
(7)生成表结构
命令 - python manage.py migrate TestModel
生成表结构.png 生成表结果.png
(8)网页访问,添加数据

在HelloWorld文件夹下,创建testdb.py文件

from django.http import HttpResponse
from TestModel.models import Test

# 数据库操作
def testdb(request):
    test1 = Test(name="Test Data")
    test1.save()
    return HttpResponse('<p>数据添加成功!</p>')

路径引入

from django.conf.urls import url
from HelloWorld.view import hello
from HelloWorld.testdb import testdb

from . import view
urlpatterns = [
    url(r'^hello/$',hello),
    url(r'^testdb/$',testdb)
]

启动服务,浏览器访问结果:


成功返回.png
(9)数据库最终插入数据
数据库插入数据.png

相关文章

网友评论

      本文标题:Django-使用MVC模式搭建web服务器

      本文链接:https://www.haomeiwen.com/subject/jykpeqtx.html