vuejs与云服务器上django项目交互数据

各位大侠,我在腾讯云上用nginx+uwsgi+django3布置了一个后台,
目前想测试一下我在本地能不能用vuejs连接上数据,但是不行!!!
但网站index主页是可以访问的,www.zhishiren.info,说明大体上没问题。
我不知道啥原因,请各位费心帮我看看
第二个问题:我修改django里的setting后,需要重启nginx么?

---------------------------------以下是我配置uwsgi的ini文件:
[uwsgi]
http
socket = 127.0.0.1:8000
chdir =/www/django2020/d2020
wsgi-file= =/www/django2020/d2020/d2020/wsgi.py

---------------------------------以下是配置nginx的conf文件
http

{
    server{
        listen    80;
        server_name   www.zhishiren.info;
        charset       utf-8;

        location /static{
            alias /www/django2020/d2020/d2020/static;
        }

        location / {
            uwsgi_pass 127.0.0.1:8000;
            include /www/server/nginx/conf/uwsgi_params;
        }
    }

-------------------------------corsheaders也安装过了。配置如下:
ALLOWED_HOSTS = ['*']
INSTALLED_APPS = ['corsheaders',]
MIDDLEWARE = ['corsheaders.middleware.CorsMiddleware',]
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = ['*']

------------------------------------------这是django里的views里的写法:
from django.shortcuts import render
from django.shortcuts import HttpResponse
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
import json
from requests import Response

@csrf_exempt

def ceshi(request):
    if(request.method == 'POST'):
        response['ok'] = 1
        return HttpResponse(response)

-------------------------------这是我在本地vuejs里的写法:
created(){ this.$axios.post("http://www.zhishiren.info/ceshi/").then(response=>{this.created_ok=response.data});},!!!这里需要说一下,我试过了www.zhishiren.info:8000/ceshi/,同样无效!以前用flask做后台的时候,就没有加8000,可以联通的。

最后本地页面反馈的信息如下:
image.png

image.png

阅读 3k
2 个回答

我个人博客就是django写的,跑了几个月 https://www.charmcode.cn/
也部署过Vue练习的Demo https://www.charmcode.cn/app/... 移动端

首先回答你第二个问题

第二个问题:我修改django里的setting后,需要重启nginx么?

更改配置后,不需要重启nginx,只需要重启django服务就行,而且nginx一般情况都是不重启的,而是重新加载配置

nginx -s reload  # 重新加载配置

至于Vue axios请求失败

看你的代码,应该不是跨域问题,因为跨域,前端也不是这个报错,而且你贴的django代码,允许了所有["*"], 所以我猜测是你django服务,没有启动起来或者没有被nginx正确转发。

如果是启动起来的,你可以看看你django日志,看看访问记录,才好分析。

(个人是使用的gunicorn, 因为uwsgi我部署老有问题)

我贴一下我的gunicorn 部署命令吧, 是使用的supervisor守护进程,我是使用的django2.x版本

[program:blog_app]
command=/root/.local/share/virtualenvs/blog-bLG7rwjv/bin/gunicorn -w 4  blog.wsgi:application -b 127.0.0.1:8000
directory=/data/blog
environment=ENV="server"
user=root
autostart=true
autorestart=true
stopsignal=QUIT
stopasgroup=true
killasgroup=true
stdout_logfile=/data/blog/logging/blog.log
stdout_logfile_maxbytes=5MB   ; max # logfile bytes b4 rotation (default 50MB)
stdout_logfile_backups=10     ; # of stdout logfile backups (default 10)
stdout_capture_maxbytes=5MB   ; number of bytes in 'capturemode' (default 0)
stdout_events_enabled=false   ; emit events on stdout writes (default false)a

希望我的答案能对你有所帮助。

在本地的话跨域了,访问不了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题