美文网首页计算机杂谈程序员每周500字
【Django】安装Django并且开始接受外部访问

【Django】安装Django并且开始接受外部访问

作者: 张照博 | 来源:发表于2018-09-21 15:54 被阅读67次

    正文之前

    今天,本科的辅导员找到我,问我会不会做网站。。我比较虚,但是想想自己好歹做过。。所以就半推半就的接了话茬。。。 哎。。现在在愁找我建网站的老师会不会坑我。。

    正文

    虽说只要求我做个静态网站,可是甲方?呵呵。。不信。。我还是复习下Django吧,不然到时候被坑了简直想死。。这就开始从头到尾写一下

    下面是搭建环境的教程:

    How to install Django

    直接pip安装就好了。。不要看那么多的。。。当然,python是必须要有的。我就不说了。

    然后就可以查看版本:

    root@zhangzhaobo:/home/ubuntu# python -m django --version
    2.1
    

    然后找个文件夹,开个项目吧:

    root@zhangzhaobo:/home/ubuntu/python# django-admin startproject testsite
    

    下面就是结构:

    root@zhangzhaobo:/home/ubuntu/python# tree
    .
    ├── apriori.py
    └── testsite
        ├── manage.py
        └── testsite
            ├── __init__.py
            ├── settings.py
            ├── urls.py
            └── wsgi.py
    
    

    忽略最上头那个文件,没啥用的。。

    第一次运行可能会出现这个:

    root@zhangzhaobo:/home/ubuntu/python/testsite# python manage.py runserver 0:8000
    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.
    
    September 21, 2018 - 07:30:47
    Django version 2.1, using settings 'testsite.settings'
    Starting development server at http://0:8000/
    Quit the server with CONTROL-C.
    

    按照要求来做就好了

    ^Croot@zhangzhaobo:/home/ubuntu/python/testsite# python manage.py migrate
    Operations to perform:
      Apply all migrations: admin, auth, contenttypes, sessions
    Running migrations:
      Applying contenttypes.0001_initial... OK
      Applying auth.0001_initial... OK
      Applying admin.0001_initial... OK
      Applying admin.0002_logentry_remove_auto_add... OK
      Applying admin.0003_logentry_add_action_flag_choices... OK
      Applying contenttypes.0002_remove_content_type_name... OK
      Applying auth.0002_alter_permission_name_max_length... OK
      Applying auth.0003_alter_user_email_max_length... OK
      Applying auth.0004_alter_user_username_opts... OK
      Applying auth.0005_alter_user_last_login_null... OK
      Applying auth.0006_require_contenttypes_0002... OK
      Applying auth.0007_alter_validators_add_error_messages... OK
      Applying auth.0008_alter_user_username_max_length... OK
      Applying auth.0009_alter_user_last_name_max_length... OK
      Applying sessions.0001_initial... OK
    

    然后可以运行啦!

    root@zhangzhaobo:/home/ubuntu/python/testsite# python manage.py runserver 0:10086
    Performing system checks...
    
    System check identified no issues (0 silenced).
    September 21, 2018 - 07:31:19
    Django version 2.1, using settings 'testsite.settings'
    Starting development server at http://0:10086/
    Quit the server with CONTROL-C.
    Invalid HTTP_HOST header: '104.216.175.73:10086'. You may need to add '104.216.175.73' to ALLOWED_HOSTS.
    Bad Request: /
    [21/Sep/2018 07:31:32] "GET / HTTP/1.1" 400 59428
    Invalid HTTP_HOST header: '104.216.175.73:10086'. You may need to add '104.216.175.73' to ALLOWED_HOSTS.
    Bad Request: /favicon.ico
    [21/Sep/2018 07:31:34] "GET /favicon.ico HTTP/1.1" 400 59512
    ^Croot@zhangzhaobo:/home/ubuntu/python/testsite# ls
    db.sqlite3  manage.py  testsite
    root@zhangzhaobo:/home/ubuntu/python/testsite# cd testsite/
    root@zhangzhaobo:/home/ubuntu/python/testsite/testsite# l
    __init__.py  __pycache__/  settings.py  urls.py  wsgi.py
    root@zhangzhaobo:/home/ubuntu/python/testsite/testsite# ls
    __init__.py  __pycache__  settings.py  urls.py  wsgi.py
    root@zhangzhaobo:/home/ubuntu/python/testsite/testsite# vim settings.py 
    root@zhangzhaobo:/home/ubuntu/python/testsite/testsite# cd ..
    root@zhangzhaobo:/home/ubuntu/python/testsite# ls
    db.sqlite3  manage.py  testsite
    root@zhangzhaobo:/home/ubuntu/python/testsite# python manage.py runserver 0:10086
    Performing system checks...
    
    System check identified no issues (0 silenced).
    September 21, 2018 - 07:33:19
    Django version 2.1, using settings 'testsite.settings'
    Starting development server at http://0:10086/
    Quit the server with CONTROL-C.
    [21/Sep/2018 07:33:23] "GET / HTTP/1.1" 200 16348
    [21/Sep/2018 07:33:23] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
    [21/Sep/2018 07:33:24] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 82564
    [21/Sep/2018 07:33:24] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 80304
    [21/Sep/2018 07:33:25] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 81348
    Not Found: /favicon.ico
    [21/Sep/2018 07:33:25] "GET /favicon.ico HTTP/1.1" 404 1980
    

    然后如果在一开始出现下列错误,只需小小调节就行:

    DisallowedHost at /
    Invalid HTTP_HOST header: '104.216.175.73:10086'. You may need to add u'104.216.175.73' to ALLOWED_HOSTS.
    

    这个时候去setting.py里面改一下就好了
    于是就去django-admin.py startproject testsite创建的项目中去修改 setting.py 文件:

    ALLOWED_HOSTS = ['*']  #在这里请求的host添加了*
    

    然后就这样:

    正文之后

    OK!收工,下课!!

    相关文章

      网友评论

      本文标题:【Django】安装Django并且开始接受外部访问

      本文链接:https://www.haomeiwen.com/subject/lmzanftx.html