django框架三板斧

【一】Django项目如何添加新功能

【1】添加URL映射#

  • 在项目的urls.py中,通过导入相应的应用app的views
  • urlpatterns列表中添加对应的映射
from django.contrib import admin
from django.urls import path
from user import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('login/', views.login),
    path('register/', views.register),
    path('user_list/', views.user_list),
    path('edit_user/', views.edit_user),
    path('', views.login),
    path('del_user/',views.del_user)
]

【2】添加视图函数#

  • 在对应的app的views.py文件下,创建视图函数
  • 在函数内书写想要的业务逻辑
from django.shortcuts import render, HttpResponse, redirect
from user import models
from django.contrib import messages


# Create your views here.

def login(requests):
    if requests.method == 'POST':
        # 获取用户数据
        username = requests.POST.get('username')
        password = requests.POST.get('password')
        user_obj = models.User.objects.filter(username=username)
        if not user_obj:
            messages.error(requests, f'用户{username}未注册')
            return redirect('/login/')
        if password != user_obj.first().password:
            messages.error(requests, '密码错误')
            return redirect('/login/')
        return redirect('/user_list/')
    return render(requests, 'login.html')

【二】三板斧

【1】HttpResponse#

  • HttpResponse是Django自带的类,用于构建基本的HTTP响应
from django.shortcuts import render, HttpResponse


# Create your views here.
def test(requests):
    return HttpResponse('这是test页面')

【2】render#

  • 主要是用于给浏览器返回一个页面
  • render(): 这个函数用于从给定的模板加载内容,并将其插入到 HTTP 响应中作为 HTML 内容发送给客户端。
from django.shortcuts import render, HttpResponse


# Create your views here.
def test(requests):
    return render(requests,'test.html')

【3】redirect#

  • 这个方法适用于给页面重定向,括号内可以写其他网站的全称 也可以自己网站的后缀
  • redirect(): 该函数用于向用户返回一个 HTTP "Redirect" 响应,使浏览器跳转至指定的 URL。
  • 如下,我输入test,就会跳转到百度的页面
from django.shortcuts import render, HttpResponse,redirect


# Create your views here.
def test(requests):
    return redirect(to='https://www.baidu.com')

【4】注意事项#

  • 这三板斧中,除了render是会自动导入的,其他两个在使用的时候要记得导入方法
  • django是自带重启功能的,后端代码有改变他就会自动重启。

作者:Esofar

出处:https://www.cnblogs.com/Hqqqq/p/18092685

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   HuangQiaoqi  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示