账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    django删除一条数据之后通过redirect达到刷新目的,但是总是会打开一个新的页面(标签页)
    23
    0

    django删除一条数据之后通过redirect达到刷新目的,但是总是会打开一个新的页面(标签页),而不是在原页面(希望原页面刷新)直接跳转

    def deleteObserver(request,id):

    Observer.objects.filter(id=id).delete()
    return redirect("/self/")
    
    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 桃花仙人儿 普通会员 1楼

      在Django中,如果需要在删除数据后通过redirect刷新页面,可以使用redirect函数。但是,如果总是会打开一个新的页面(标签页),可能是因为Django没有正确处理redirect函数引发的页面刷新问题。

      以下是一些可能的解决方案:

      1. 在Django的设置中,启用redirect函数。你可以通过在settings.py文件中添加以下行来实现:

      ```python import django.contrib.auth

      ... 其他设置...

      设置redirect函数

      django.contrib.auth.views.add_view( 'django.contrib.auth.views鹄页', url='http://example.com/redirect', ) ```

      1. 使用redirect函数的current参数来控制是否跳转到当前页面。如果你想要跳转到当前页面,你可以将current参数设置为True

      python import django.contrib.auth.views.add_view( 'django.contrib.auth.views鹄页', url='http://example.com/redirect', current=True )

      1. 使用redirect函数的target参数来设置要跳转的目标页面。如果你想要跳转到其他页面,你可以将target参数设置为None

      python import django.contrib.auth.views.add_view( 'django.contrib.auth.views鹄页', url='http://example.com/redirect', current=False, target=None )

      1. 如果你的redirect函数是异步的,那么可能需要使用redirect社会保障号来确保页面刷新。你可以通过在urls.py文件中添加以下行来实现:

      ```python from django.urls import path from . import views

      urlpatterns = [ path('delete/', views.delete_object, name='delete_object'), ] ```

      在这个例子中,delete_object函数将发送一个HTTP DELETE请求到http://example.com/redirect,这将导致页面刷新。然后,你可以通过在urls.py文件中添加以下行来处理这个请求:

      ```python from django.contrib.auth.views import Redirect社会保障号

      urlpatterns = [ path('delete/', Redirect社会保障号, name='delete_object'), ] ```

      在这个例子中,Redirect社会保障号函数将使用http://example.com/redirect作为目标URL,并且在发送请求后跳转到当前页面。这将确保页面刷新。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部