How did you setup your Django dev environement?
我正在尝试使用启用了vagrant的vms来设置本地django-dev环境,但我不确定最好的方法是什么。
我为生产服务器上的django文件做了一个
更不用说,在dev环境中的setting.py上,我必须更改ips以指向数据库的公共IP地址(从而在安全性上戳出一个漏洞),而production settings.py使用本地ips,所以我最终使用了不同的settings.py文件。
我可以继续尝试新的方法,但我真的必须开始这个项目,我很肯定有些人已经知道了这一点。
那么,您是如何设置您的django dev环境的呢?
我有一个关于GitHub的公开回购协议可在这里获得:
https://github.com/flirpa/djangovagrant
readme.md中的说明:
django/python/mysql版本
这是Django开发的一个流动项目。
这还不支持BerkShelf或图书管理员;所有必要的回购都包含在"食谱"中。
先决条件,所有平台:
virtualbox https://www.virtualbox.org/wiki/downloads瓦格纳特http://downloads.vagrantup.com/
先决条件,仅限Windows:
吉特巴什红宝石RVM
运行起来相当容易:
1 2 | vagrant up vagrant ssh djangovm |
**(注意:您现在在virtualbox vm中是超级用户vagrant)
1 | sudo apt-get install python-pip |
**(注意:pip是一个python包管理器)
1 2 | sudo apt-get install python-mysqldb sudo pip install django |
启动Django项目:
1 2 3 | django-admin.py startproject django_project cd django_project python manage.py runserver [::]:8000 |
虚拟机配置为使用端口转发。如果一切正常,您应该能够通过运行此URL的虚拟机的计算机上的浏览器访问正在运行的服务器:
1 | http://localhost:8001/ |
新的Django?下一步?我强烈推荐:http://www.tangowithdjango.com/有关更高级的主题,请查看两大勺django:http://twoscooppress.org/
我见过一些django应用程序可以管理这些应用程序,但我总是喜欢在我的设置中使用以下内容。py,因为不同配置的数量通常是最小的。
1 2 3 4 5 6 7 8 9 | SITE_TYPE = environ.get( 'SITE_TYPE', 'DEV' ) if SITE_TYPE == 'LIVE': DEBUG = False DEFAULT_HOST = '' else: DEBUG = True DEFAULT_HOST = '50.56.82.194' EMAIL_HOST = DEFAULT_HOST |
我可以推荐这个存储库。
您可以修改它以支持Django项目。
1 2 3 4 5 6 7 8 9 10 | config.vm.define"web1", primary: true do |web1_config| web1_config.ssh.forward_agent = true # Create a private network, which allows host-only access to the machine web1_config.vm.network"private_network", ip:"192.168.11.10" web1_config.vm.hostname ="web1.#{domain}" web1_config.vm.provision"shell", path:"provisioners/shell/python.setup.sh" web1_config.vm.provision"shell", path:"provisioners/shell/application.setup.sh" end |
然后添加一个包含以下内容的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #!/bin/bash local_user=vagrant if [ ! -n"$(grep"^bitbucket.org" /home/$local_user/.ssh/known_hosts)" ]; then ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts 2>/dev/null; fi if [[ ! -d"/home/$local_user/app" ]]; then git clone [email protected]:czerasz/sample-django-app.git /home/$local_user/app chown -R $local_user:$local_user /home/$local_user/app su - $local_user -c"source /usr/local/bin/virtualenvwrapper.sh && mkvirtualenv sample-django-app-env && workon sample-django-app-env && pip install -r /home/$local_user/app/requirements.txt" fi |
更改存储库地址(
Vagrant将启动两台机器:
- django项目的
web1 - 带PoestgreSQL数据库的
db1
如果您仍有问题,请将以下内容添加到您的
1 | web1_config.ssh.private_key_path = [ '~/.vagrant.d/insecure_private_key', '~/.ssh/bitbucket' ] |
并在主机(运行
1 | ssh-add ~/.ssh/bitbucket |