Is not efficient :).
I’m trying to learn django by building a simple app. I bought a hosting plan on webfaction, set up github account and a putty on my Windows machine. I’m writing the “code” on my Windows, pushing it to github repo, then connecting via putty to my webfaction account to pull from github.
This is extremely tedious and boring process and I can’t help but wonder that I’m doing something wrong. Even fixing a simple typo takes a lot of time. Are developers writing everything server-side using vim? This sound even less encouraging. Can I do something to improve my workflow? How it’s done by professionals?
You need to stop wasting your own time, which you are if you are editing code on the server. There are many reasons why you shouldn’t deploy code that way the most important ones is that you’ll waste time and also importantly is that you’ll break things while users are looking at the site.
Setup a development server locally, this is why the django
manage.py runserverexists. If you for some reason can’t run it on windows, then install a server in virtualbox, mount the folder in windows where your code is and run it off that (this is what we do for our designers although we have a lot of dependencies).There are IDE’s out there that enables you to run Django via a GUI that you might find more comfortable, I use PyCharm and I hear good things about eclipse.
You’d save time if you learned how fabric worked so you can automate your deploy process. I am unsure how well fabric works on windows, but I’m sure you can use cygwin or similar to get it working.
A fairly basic example would be this one:
It’ll SSH into my server, pull the source, collectstatic, kill the process if it’s there and then run django as fastcgi. I’m assuming you have nginx or apache set up to connect to Django on port 8000.