在 Django 中重定向到外部 URL 不起作用

问题描述 投票:0回答:0

我一直在尝试重定向到 Django 视图中的外部 URL,但不知何故它似乎不起作用。 下图是我得到的。显然它能够打印出 2 个“打印”语句,表明代码行没有错误:link=redirect("https://google.com")。但是,它只是不返回重定向页面。

我应该在 urls.py 上写些什么吗? 在 urls.py 文件中:当编写表示重定向 url 路径的第 3 行代码时,我收到错误“Forbidden (CSRF token missing.): /deliveryJob”。 没有这行代码,就不会发生重定向或错误。

不确定我是否做对了。

@api_view(['GET',"POST"])
def deliveryJob(request):
    order_id = request.POST.get('order_id')
    box_number = request.POST.get('box_number')
    ward_number = patients_data.objects.filter(order_id=order_id).first().ward_number
    status = "Pending"
    recorded_date = datetime.now().date().strftime('%Y-%m-%d')
    recorded_time = time.strftime("%H:%M:%S", time.localtime())

    c = connection.cursor()
    c.execute("INSERT INTO user_patient (order_id, box_number, ward_number, status, recorded_date, recorded_time) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}');".format(order_id, box_number, ward_number, status, recorded_date, recorded_time))
    
    order_id_str = str(order_id)
    c.execute("DELETE FROM patients_data WHERE order_id = '%s'" % (order_id_str))

    ####################### ROBOT PROMPT TRIGGER #############################
    c.execute("SELECT COUNT(*) FROM user_patient WHERE status = '%s'" % ("Pending"))  
    for record in c.fetchall():
        if record[0] == 1:
          print("There is only 1 Pending box in the database")
          link = redirect("https://google.com") 
          print("Ok")
          return link

urlpatterns = [
    path('', views.login, name='login'),
    path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url('favicon/favicon.ico'))),
    path('deliveryJob', RedirectView.as_view(url="https://google.com")),
    path('deliveryJob', view_doctor.deliveryJob, name="deliveryJob")]
python django url redirect
© www.soinside.com 2019 - 2024. All rights reserved.