【Django】【Python】找出自己IP & 讓 Django 切換兩組 datebase 設定

這幾天se們在流行玩Python 跟 django,儘管我不會我也要play一下
玩新東西就是有趣,找了一個同事然後再github上面開了一個群組~

問題

每次git來git去的時候,我跟同事的setting.py中database的設定都要修改
畢竟我們都在封閉的環境,接自己的mariadb
很困擾啊~~~


解決方案

非常土砲的我能做什麼?
直覺想到那就一個if去判斷本機ip,然後在改setting不就好了!


開工

寫個簡單的python來抓取本機名稱
再透過本機名稱去詢問ip

首先我進django的setting.py裡面
開頭的地方塞import

import socket
然後再database設定那邊加個code
myhostnameMYSQL = socket.getfqdn(socket.gethostname())
myhostipMYSQL = socket.gethostbyname(myhostnameMYSQL)
這樣我的myhostipMYSQL就是我的ip了!
然後接下來做個簡單的if判斷就行了!
if myhostipMYSQL == "192.168.1.x":
 DATABASES = {
  'default': {'ENGINE': 'django.db.backends.mysql', .......
  }
 }
else:
        DATABASES = {
                'default': {'ENGINE': 'django.db.backends.mysql', .......
                }
        }

遭遇問題

他怎樣都回我127.0.0.1
突然想到阿對,我的hosts沒改!!!

# vi /etc/hosts
把我的解析ip改成內網ip而非本機的
127.0.0.1       localhost
192.168.1.x   ubWordxxxxx
windows解法也一樣
改個host就好了
位置在
C:\WINDOWS\system32\drivers\etc\hosts

留言