首页 > 解决方案 > 使用 Django 的测试服务器返回与使用 Apache 服务器不同的 AJAX 结果

问题描述

现在我正在学习如何在我的 Django 项目中进行 AJAX 调用。现在我有一个 html 页面,它对返回 JSON 响应的页面进行 AJAX 调用。

我的问题是,当我转到由 Apache 托管的 ajax 页面返回响应时,响应是该站点的旧配置的响应。当我将测试站点与 python manage.py runserver 一起使用时,ajax 值返回对应于 views.py 文件中定义的内容。

通过 Apache 来自站点页面的 ajax 响应对我对代码的更改没有响应,而测试服务器是。我不明白为什么会这样。这让人想起我之前遇到的一个问题,在我的 url.py 文件中有一个重定向,它以同样的方式对更改没有响应。它确实开始工作,我认为这是因为我清除了浏览器历史记录。在这种情况下,这没有帮助。

这是我的观点,其中包含 AJAX 响应

def validate_username(request):
    username = request.GET.get('username', None)
    data = { 
        'is_taken': User.objects.filter(username__iexact=username).exists()
    }   
    if data['is_taken']:
        data['error_message'] = 'A user with this username already exists.'
    return JsonResponse(data) 

我知道调用此响应是因为我可以使用此视图访问 url 定义并获取旧视图。

我不确定有什么用,但如果需要,我可以提供 html 模板和 Apache 服务器配置。或者别的什么。

这是我的 Apache 相关配置:


WSGIScriptAlias / /srv/django_projects/myapp/myapp/wsgi.py
WSGIPythonPath /srv/django_projects/myapp

Alias /static/ /srv/django_projects/myapp/static/

<Directory /srv/django_projects/myapp>
Require all granted

#<Files wsgi.py>
#Require all granted
#</Files>
</Directory>


编辑我现在确实有正确的响应,但我不明白为什么当我重新加载 Apache 时它没有改变。任何解释将不胜感激。

标签: pythondjangobrowser

解决方案


推荐阅读