将Angular与Django集成,服务器正在接收来自前端的请求,但我无法处理它们,因为它们未达到目标功能
这是views.py:
class VView(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
def index(request):
return render(request, 'index.html')
@permission_classes((permissions.AllowAny))
class Login(APIView):
def post(self, request)
return JsonRespone({"some":"data"}, status=200)
这是我的urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url('', index),
url('user/login',Login.as_view()),
url('user/registration',Login.as_view()),
]
问题是,现在user/login
服务器的发送请求未按原样响应json,但是当我注释掉或删除索引URL时
所以我有:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url('user/login',Login.as_view()),
url('user/registration',Login.as_view()),
]
一切正常,当我使用Postman时,我可以从服务器获得响应,或者在另一个localhost上运行前端,但是问题是当我通过localhost:8000访问它时,服务器无法呈现网页
答案 0 :(得分:3)
发生这种情况是因为您将其与path
和url
混淆了。
url('', index),
在这里,您在网址中输入了''
,这不是正确的方法。这就是为什么它不进入下一个后续模式的原因。
解决方案1::使用正确的
url
模式和使用^
和$
的常规模式。
urlpatterns = [
url(r'^$', index),
url(r'^user/login/$',Login.as_view()),
. . . . .
]
解决方案2::如果使用
path
,请使用django>=2.0
。
from django.urls import path
urlpatterns = [
path('', index),
path('user/login',Login.as_view()),
. . . .
]