Publish Django Project on Windows Server - django

I have a home server(OS: WindowsServer 2016 STD) with ip static and i want publish my Django project on a windows server from my home server.
What should i do to other people can access my project using my ip static!?

If you want to use it as development server then you can simply do:
python manage.py runserver 0.0.0.0 and then access it using your IP address.
Else you can follow this link to deploy Django on your Windows IIS server for production.

Related

How can i see my installed Django on Centos 7 server?

I newly installed django on centos 7 server but how can i see my working django website.
I have server ip address and also website. Firstly Do I need to change the domain dns with the server ip address?
In addition i didnt installed to the root, i installed django to the root/iki path.
It seems you didn't deploy your app and just installed Django. For deploying your Django app on a server you should use nginx.
You can find a good guide for Django deployment here.

Attaching oTree(Django) to IIS with Windows VM using Hypercorn or equivalent?

I have been looking into adding oTree to a website hosted in Windows 2012 IIS on a Windows 10 VM.
To run locally I just run otree prodserver inside the directory of the apps folder.
The app runs on localhost:8000 unless specified otherwise, which allows me to generate unique urls for players on the local network.
When looking at attaching to the IIS so it can get ran using a URL on the cloud remotely, not sure how to go about it.
With Django attaching the wsgi and enabling it to the IIS. Inside oTree no file exist. It seems to use Uvicorn and Scarlett to run asynchronously with ASGI server.
From what I can tell it would be easiest to use Hypercorn and run it with a web.config file. But that's where I am lost.
I'm not sure where the ASGI module/app is to execute with Hypercorn.
Can I just run a CLI with otree prodserver and attach that to Hypercorn to host the localhost:8000 on the IIS with a proxy?

django- host a website without python app on cpanel?

I am going to host a website build on the Django framework. There are tutorials on youtube on how to host but they all are using the python app already on Cpanel. But my hosting provider Hostgator does not give the python app in Cpanel. is there any other way to host the Django website without the python app on Cpanel?
you can host django on digital ocean, with ssh command in the terminal, where you can configure your server with nginx and gunicorn.
tutorial: https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-20-04-pt
follow the taps.

Trying to deploy Django on SiteGround

I am trying to deploy a Django app on Siteground through SSH. I have transferred all the files through Filezilla. Everything is setup.
I have developed several apps on AWS using ubuntu. But in siteground Fedora OS is provided in SSH, I am not familiar with that much. I can't have superuser privileges.
Running my Django server on port 8000:
python manage.py runserver 0.0.0.0:8000
Host name is already added in ALLOWED_HOST of setting.py:
ALLOWED_HOSTS = ["himeshp7.sg-host.com","*"]
The server is running in SSH, but I am unable to open my web app on the browser. In AWS we get the option to enable ports in Security Groups, but I couldn't find anything like that on Siteground, I also talked with customer care but they are telling to upgrade, I still doubt that if it will work or not after that as I couldn't find anything proper for deploying Django on Siteground.
You need to add your server ip address to ALLOWED_HOSTS and do python manage.py runserver <your_server_ip_address>:8000 to simply run your app in Debug mode. (Replace <your_server_ip_address>). You can then access your app over port 8000
To host your app in production you need to do further more than running the app through command like installing WSGI HTTP Server, configuring to run your app on port 80 or some other port, etc.
Amazon AWS has UI for most of the things so that you could easily enable ports and such other things. This is not the case of other hosting providers.
Unless you don't have the sudo privileges there are no options to run Django app in shared hosting. Hosting providers that gives SSH/terminal access for shared hosting will not give sudo privileges for security reasons. You should be having a VPS/Dedicated account for that which costs higher to have higher control over your server.
Why do I need sudo privileges ?
You may need to install additional packages/dependencies.
To add additional apache/nginx config for your domain. etc
Otherwise you can go for hosting providers where they provide additonal "Setup Python App" in "Software" section in CPanel for their Shared Hosting Plans. You don't need to worry about server configuration.
There are many providers that gives this option in their Shared Hosting. Two of such providers that I know of:
namecheap refer
a2hosting refer
Based on the exp that I had on deploying python app on Hostgator VPS link.

Setup django test server with port forwarding

I want to setup django test server so it can be accessed through web address (mainly for facebook testing). For this I'm using the no-ip service wich works fine with apache. But when I try starting the test server on port 80 access from the same web URL gives Problem loading page.
I've already concluded that the router is properly configured (port forwarding works with apache) and that the test server is running locally.
So what should I do? Do you have any suggestions about developing django project with facebook integration?
Thanks!
I would also recommend using the localtunnel Ruby gem. It will provide you with a publicly accessible web address that routes requests to a locally bound port:
$ python manage.py runserver
$ localtunnel 8000
This localtunnel service is brought to you by Twilio.
Port 8000 is now publicly accessible from http://qw1e3.localtunnel.com ...
I prefer it over other approaches, especially in instances where even for development work your application is required to be publicly accessible due to some remote services that your using, in which case you can programmatically instantiate localtunnel and do all the necessary configurations, without having to document it or go through the pain of performing it manually over and over again.
Are you running python manage.py runserver?
Try doing python manage.py runserver 192.168.1.2:80 (or whatever your IP is instead of 192.168.1.2).