我是Python和Django的新手.我做了一个关于执行请求方法的实验(例如,对于某些网址,你只能使用GET).这是我的代码.
tests.py
from django.test import TestCase, Client
client = Client()
class MyTests(TestCase):
def test_request_method:
""" Sending wrong request methods should result in 405 error """
self.assertEqual(client.post('/mytest', follow = True).status_code, 405)
Run Code Online (Sandbox Code Playgroud)
urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name = 'index'),
url(r'^mytest/', views.mytest, name = 'mytest'),
]
Run Code Online (Sandbox Code Playgroud)
views.py
from django.http import HttpResponse
def mytest(request):
if request.method == 'GET':
return HttpResponse("Not implemented", status = 500)
else:
return HttpResponse("Only GET method allowed", status = 405)
Run Code Online (Sandbox Code Playgroud)
但测试总是返回状态500.
我在这里看到这可能与follow=True在client.post()通话中使用有关.但是,如果我使用,follow=False我将获得状态301.
有任何想法吗?谢谢!
| 归档时间: |
|
| 查看次数: |
640 次 |
| 最近记录: |