【Django】前端界面显示(FBV、CBV两种方式)

本文介绍了Django框架下,遵循MTV模式的页面构建方法,包括如何组织静态文件和HTML模板。文章详细阐述了基于函数的视图(FBV)和基于类的视图(CBV)的创建过程,以及各自视图逻辑的编写和URL配置,提供了实例代码来展示如何实现页面的展示功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在编写页面显示的代码前应当先拆分页面静态文件(css,js,images)放入static,html放入templates之下。
其中静态文件放入static分为以下两种情况:

  1. 放在对应的app下(不需要配置settings.py的STATICFILES_DIRS )
  2. 放到全局的templates和static之下(需要配置settings.py的STATICFILES_DIRS)


Django是一个遵循MTV设计模式的框架。MTV是Model、Template、View三个单词的简写,分别代表模型、模版、视图,其中视图层的编写方式分为FBV(基于函数的视图)和CBV(基于类的视图),下面的内容将分为FBV和CBV两个版本:

1 FBV-基于函数的视图版本

  1. 编写对应app的views逻辑

    # <project>/apps/<app>/views.py
    from django.http import HttpResponse
    from django.shortcuts import render
    
    
    def message_form(request):
        return render(request, "message_form.html")
    
  2. app目录下新建一个urls.py,编写当前app视图的路由

    # <project>/apps/<app>/urls.py
    from django.urls import path
    
    from . import views
    
    urlpatterns = [
        path('', views.message_form),  # 当前app的专属urls配置文件
    ]
    
  3. 配置项目同名目录下的urls.py

    # <project>/<project>/urls.py
    from django.contrib import admin
    from django.urls import include, path
    
    
    urlpatterns = [
        path("message_form/", include("apps.message_form.urls")),  # 引入新的urls配置文件
        path('admin/', admin.site.urls),
    ]
    
  4. 最后访问http://127.0.0.1:8000/message_form/即可查看该网页

2 CBV-基于类的视图版本

  1. 编写对应app的views逻辑

    # <project>/apps/<app>/views.py
    from django.shortcuts import render
    from django.views.generic.base import View
    
    
    class LoginView(View):
        def get(self, request, *args, **kwargs):
            return render(request, "login.html")
    
        def post(self, request, *args, **kwargs):
            pass
    
  2. app目录下新建一个urls.py,编写当前app视图的路由

    # <project>/apps/<app>/urls.py
    from django.urls import path
    
    from . import views
    
    urlpatterns = [
        path('login/', views.LoginView.as_view(), name="login"),  # 当前app的专属urls配置文件
    ]
    
  3. 配置项目同名目录下的urls.py

    # <project>/<project>/urls.py
    from django.contrib import admin
    from xadmin.plugins import xversion
    from django.urls import path, include
    import xadmin
    from django.views.generic import TemplateView
    from apps.users.views import LoginView
    
    xversion.register_models()
    xadmin.autodiscover()
    urlpatterns = [
        # path('admin/', admin.site.urls),
        path('xadmin/', xadmin.site.urls),
        path("", include("apps.users.urls")),  # 引入新的urls配置文件
    ]
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chaoql

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值