Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I'm absolutely "brand new" to Paas and django/python.
I would install django on heroku.
Before, I need to install on it Python. But I'm unable to do that. I looked a while for doc about it, but unfortunately I'm not able.
I've created a heroku account. I log in and the try to follow the guide.
please, help me. give me some starting point...
TIA
Renato
Setting up your project
You'll need to add a couple of files to the root of your project:
The first file, named requirements.txt, should contain the dependencies for your project (this is not really Heroku specific). At the minimum, this should include:
Django
Then, you'll need to add a file named Profile (this is more Heroku-specific) that tells Heroku how you run your project:
web: gunicorn YOUR_PROJECT_NAME.wsgi:application
YOUR_PROJECT_NAME should be whatever argument you gave manage.py startproject. This should also be the name of the folder that contains your wsgi.py file (settings.py will be there too).
Deploying to Heroku
Next, you should initialize a git repository for your projec:t
git init
Then, commit your project:
git add .
git commit -m "Initial commit for my project"
Then, provided you installed the Heroku toolbelt, you should be able to add your application to Heroku:
heroku create
And finally, deploy to Heroku using git:
git push heroku master
You app isn't running yet, so you'll want to launch it:
heroku ps:scale web=1
Then, you can access it via your browser:
heroku open
You might want to have a look at Heroku's django guide.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 months ago.
Improve this question
I have a django project, that works similar to Jupyter Notebook, in terms of Being a program launched offline in localhost on a web browser, moreover my webapp has an opencv webcam pop-up, that will be launched when you press a button.
I want to deploy my django project, so it can be launched by just clicking a file in Windows.
According to what I read, There are two possible solutions:
Install Python Interpreter with Dependencies on client computer first, and using a bat file, to launch the django server.
Containerizing the Django project with Python and its dependencies, either using Docker or perhaps an exe file?
Which solution is better? I would prefer the second one personally, but I’m confused how to do so.
Can it be done as simple as using pyinstaller or not?
Here are my dependencies for reference:
Django
pillow
django-object-actions
django_user_agents
django-cleanup
opencv-python
imutils
cmake
dlib
face-recognition
I think that the best practise would be to use containers like e.g. docker. After that you have the following benefits:
Dependencies inside the container machine (automatically with pip install from requirements file)
Multiplatform possibility
Versioning with tags
You can run database in a second container if needed (combined with docker compose)
Click and run with docker desktop
fyi: There a lots of tutorials on how to deploy django in docker containers :)
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
I am new to GitHub: I have uploaded a django project without a .gitignore file and GitHub Community banned my account.
That is why I need to know how to use a .gitignore file as well as adding a license.
Recreate your django project locally, initialize a new local git repository in init (git init .), and, before doing any git add/git commit, add:
your .gitignore (you can copy the Django one)
your LICENSE file (chose one of those)
Add and commit locally.
Then create a new GitHub account, a new empty GitHub repository.
Go back to your local repository and:
cd /path/to/local/repo
git remote add origin https://github.com/<NewAccount>/<newRepo>
git push -u origin master
You can then see "Where to store secret keys DJANGO" for managing your secret key.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I want to write a small Python dummy project:
print('Hello world.')
... in a file called hello.py.
Next: I want to make this a small dummy project at github.
After creating a virtual-env (via PyCharm) I have these directories:
./foo
./foo/venv
./foo/venv/lib
./foo/venv/lib/python3.6
./foo/venv/lib/python3.6/site-packages
./foo/venv/include
./foo/venv/bin
I want to store my small project in git and upload it to github later.
Are there (official) docs how to start a new project after creating the virtualenv?
If I understand your question correctly, I believe this is what you are looking for:
How to create a repository in github:
In the upper-right corner of any page, click , and then click New
repository.
In the Owner drop-down, select the account you wish to create the
repository on.
Type a name for your repository, and an optional description.
Choose to make the repository either public or private. Public
repositories are visible to the public, while private repositories
are only accessible to you, and people you share them with. For more
information, see "Setting repository visibility."
When you're finished, click Create repository.
Creating a repo
Adding an existing project to a repo:
Open Terminal.
Change the current working directory to your local project.
Initialize the local directory as a Git repository.
$ git init
Add the files in your new local repository. This stages them for the
first commit.
$ git add .
Adds the files in the local repository and stages them for commit.
Commit the files that you've staged in your local repository.
$ git commit -m "First commit"
Commits the tracked changes and prepares them to be pushed to a remote repository.
In Terminal, add the URL for the remote repository where your local
repository will be pushed.
$ git remote add origin remote "repositoryURLgoesHere"
Sets the new remote
$ git remote -v
Verifies the new remote URL
Adding a project to the repo
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I need an idea how to implement following
1. Want to build python application which will update itself when the new patch is available
2. It will run the unit test to check if the patch deployed successfully
3. If there are any failure during installation it will rollback automatically
What I don't know
A. Not sure how to build a patch from the source code
B. Algorithm / standard process to check about the new updates are available
C. Auto deployment/Rollback process
Any suggestions/ links?
I implementeed a server that recognizes the changed source code and pulls the new code. It is hosted at pythonanywhere.com at this url and the code is on github. This answer bases on my experiences when implementing the update functionality.
When you version your code with git you usually
have a master or deploy branch that works
have a develop branch that is merged into the master-->deploy branch when all the tests run through.
This way you only need to know when the deploy branch changes in order to figure out when to restart. Tests should be run before in order to have no downtime. If you run the tests on the deploy system it may take them too much time or the invalid code destroys the system.
So the deploy branch works because it was tested before.
For automated testing you can use a continous integration server like travis that downloads the code and tests it. It can be asked about whether the test run of a specific commit.
When you host your code on github then you can specify a push http address. I used http://server/update Whenever the repository is changed github notifies your server then.
You can then update the source code by pulling it from git and if the deploy branch really changed then you can restart the application. I can not do this in the server ut maybe you can.
Scenario:
I push code to github
github sends a POST to http://server/update
#post('/update') # bottle code
def pull_own_source_code_and_restart():
with inDirectory(server_repository):
previous_commit = last_commit()
text = git.pull()
current_commit = last_commit()
if previous_commit != current_commit:
restart()
return "Git says: {}".format(text)
have a look at these two files:
command_line.py for the git commands
bottle_app.py for a derivating implementation if the server can not restart itself.
A version control system usually does the 'patching' for every version. I use git. If git is unknown to you now, learn it! Here is workshop material for Pythons Django and git: http://www.opentechschool.org/material.html
Let me now if this information is sufficient to implement such a functionality in Django. Please post your code here when you got it to work.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 6 years ago.
Improve this question
I decided to move from PHP and start using Django. I have successfully installed Python and Django on my web server. How can I just code my Python/Django program, throw it to the server over FTP, and run it without the need to SSH to the server and restart the django server every time?
What is the method to run Django codes exactly the same way we run PHP code (having the server running all the time if possible)?
My server runs CentOS 5.8 and Apache.
Edit:
Alright I really recommend this tutorial for who ever want to setup dJango on a web server , my recommendation after reading a lot of posts. Using dJango on Nginx web server is the most powerful performance you could get
https://code.djangoproject.com/wiki/DjangoAndNginx
You can't magically make Django run like PHP. Please look at the deployment documentation, as it's some of the best around.
You'll see step by step instructions for apache.
As for not having to SSH every time you load new code, the best tool for this job is fabric.
http://docs.fabfile.org/en/1.5/
Fabric is an amazing tool that is extremely easy to install and configure, which lets you run commands on your remote machine from your local machine.
For example, I simply type fab production deploy on my local machine to...
push git changes
pull git changes on remote
run pip install
migrate database
run collectstatic
finally "restart" apache - touching wsgi file.
I just want to stress that fabric is not like those deployment build scripts which are complicated. Fabric will literally take you 10 minutes to set up.