我一直在尝试重定向到 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")]