zoukankan      html  css  js  c++  java
  • Django:runserver实现远程访问

    Django自带的runserver实现远程访问

    最近在Ubuntu服务器上创建了一个Django项目,想实现远程访问:
    新创建一个名为my_site的Django项目,目录结构如下:

    项目结构
    ../my_site/
    ├── db.sqlite3
    ├── manage.py
    └── my_site
        ├── __init__.py
        ├── __pycache__
        │   ├── __init__.cpython-36.pyc
        │   ├── settings.cpython-36.pyc
        │   ├── urls.cpython-36.pyc
        │   └── wsgi.cpython-36.pyc
        ├── settings.py
        ├── urls.py
        └── wsgi.py
    
    查看IP

    首先得获取服务器公网IP,留着后面有用
    比如本机的公网IP是:48.108.238.27;内网IP是:173.18.50.48

    修改配置文件

    如果是在另一台电脑上web访问要用 python manage.py ip:port (注意port不要冲突)的形式;
    在项目中找到my_site(项目名称)目录下面的settings.py文件,在ALLOWED_HOSTS列表中添加以下内容

    root@onefine:/home/admin/PythonProject/test/my_site# vim my_site/settings.py
    # 省略...
    ALLOWED_HOSTS = ['48.108.238.27','173.18.50.48','localhost','0.0.0.0:8000','127.0.0.1']
    #省略...
    

    这里的'48.108.238.27'是公网IP,'173.18.50.48'是内网IP(这个可以不要)
    保存之后退出,最好cat一下确认。
    注意ALLOWED_HOSTS 列表也可以改为ALLOWED_HOSTS = ['*']但是最好不要这样做。

    启动测试

    启动时使用python3 manage.py runserver 0.0.0.0:80监听所有IP,端口为80:

    root@onefine:/home/admin/PythonProject/test/my_site# python3 manage.py runserver 0.0.0.0:80
    Performing system checks...
    
    System check identified no issues (0 silenced).
    
    You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
    Run 'python manage.py migrate' to apply them.
    
    January 17, 2019 - 07:31:45
    Django version 2.1.5, using settings 'my_site.settings'
    Starting development server at http://0.0.0.0:80/
    Quit the server with CONTROL-C.
    
    

    打开浏览器输入公网IP(这里是48.108.238.27,80端口可省略),或者输入IP所绑定的域名就可以看到下面的调试页面。

    在这里插入图片描述

    可以看到终端中有响应:

    ----------------------------------------
    Not Found: /favicon.ico
    [17/Jan/2019 07:38:12] "GET /favicon.ico HTTP/1.1" 404 1972
    [17/Jan/2019 07:38:13] "GET / HTTP/1.1" 200 16348
    

    大功告成。

  • 相关阅读:
    Android Stuido无法下载jcenter库
    android studio的Gradle一直在sync的办法
    mysql dual表的用途及案例
    编码-解码
    循环神经网络RNN
    项目中遇到的chrome 浏览器跨域方案
    angular 不同组件间通过service传递数据
    angular -moment.js瘦身
    windows10电脑共享文件问题记录
    解决vue本地构建热更新卡顿的问题“75 advanced module optimization”解决方案
  • 原文地址:https://www.cnblogs.com/onefine/p/10499379.html
Copyright © 2011-2022 走看看