Django入门——MTV开发模式

1.何为MTV

在这里插入图片描述
MTV开发模式整体结构图:
在这里插入图片描述
每一部分对应到工程的文件分别是:
在这里插入图片描述

文件对应部分
models.py某个app的模型
views.py某个app的视图
urls.py路由部分

M(models)和V(views)都有了,T(templates)呢?
templates就是一些HTML,js,css文件。

2.修改之前例子,添加templates

修改之前的例子,使其能够返回一个HTML页面。

2.1 新建一个app并在app目录下增加子目录templates

1.新建app:

$ python manage.py startapp hello2app

2.在app目录下增加子目录templates

$ cd hello2app/
$ mkdir templates
$ ls
__init__.py  apps.py      models.py   tests.py
admin.py     migrations/  templates/  views.py

3.将之前写好的HTML文件拷贝到templates目录下

2.2 修改app目录下的views.py

在view.py增加url的处理函数:

def hello(request):
    return render(request, "write.html")
2.3 新建本地路由,并指定与操作之间的关系

在app目录下新建urls.py文件。

from django.urls import path
from . import views

urlpatterns = [
    path('', views.hello)        
]
2.4 修改全局路由,在全局路由中增加对本地路由的引用

修改mysite/mysite/urls.py,增加对本地路由的引用:

from django.contrib import admin
from django.urls import include, path
from helloapp import views

urlpatterns = [
    path('index2/', include('hello2app.urls')), #增加对本地路由的引用
    path('index/', views.hello),
    path('admin/', admin.site.urls),
]
2.5 修改settings.py中的TEMPLATES

修改DIRS:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'hello2app/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.6 运行server
$ python manage.py runserver

返回结果:
在这里插入图片描述

2.7 步骤总结

1.在app子目录下增加templates文件夹
2.修改app子目录下的views.py文件,增加url的处理函数
3.在app子目录下增加本地urls.py
4.在全局路由中增加对本地路由的引用
5.修改settings.py中的TEMPLATES字段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值