Professional Django Project Development

  • Before starting, make sure you have Python and pip installed on your system. If you don’t have them yet, you can download them from the official Python website and official Pip website.
  • Next, you’ll need to create an account on Square Cloud, which can be done through the signup page. You can use your email to create an account.
  • Finally, you need to have an active paid plan on your account. You can view our plans and purchase one according to your needs here.
With Python and pip installed, you can create a new Django project. First, install Django using pip:
pip install django
Next, create a new Python file (e.g., app.py) and add the following code to create a basic Django application:
app.py
from django.conf import settings
from django.http import HttpResponse
from django.urls import path
from django.core.wsgi import get_wsgi_application

# Basic Django settings
settings.configure(
    DEBUG=False,  # Disable debug mode
    SECRET_KEY='mysecretkey',  # Define your secret key
    ALLOWED_HOSTS=['*'],  # Allow all hosts for simplicity
    ROOT_URLCONF=__name__,  # Set the root URL configuration to this module
    MIDDLEWARE_CLASSES=(),  # Use an empty tuple to disable middleware
)

# Simple view
def index(request):
    return HttpResponse("Hello world!")  # Return a simple HTTP response

# URL configuration
urlpatterns = [
    path('', index),  # Map the root URL to the index view
]

# WSGI application
application = get_wsgi_application()

# WSGI server
if __name__ == "__main__":
    from wsgiref.simple_server import make_server
    httpd = make_server('', 80, application)  # Serve the application using WSGI server on port 80
    print("Django server running on port 80...")
    httpd.serve_forever()  # Start the server
In the code above, we created a basic route that returns “Hello, World!” when accessed. The application is configured to run on port 80, which is the default port for HTTP traffic.

Dependency Management with requirements.txt File

The requirements.txt file is a file that lists all external libraries needed for your project. You should list all the libraries that your project will use, excluding native libraries like random and datetime. This file should be included when uploading your application to Square Cloud.
requirements.txt
django

Creating the Square Cloud Configuration File

Learn more about: how to create the configuration file for Square Cloud.

The squarecloud.app file is a configuration file that will be used to configure your application; it will be used to define the name, description, version, main file, among other things.

Configuring the START Field

In the Square Cloud configuration file, the START field is optional and only necessary if you are using a custom script to start the website. In the provided example, the START field is not necessary.

Purchasing a Plan Before Uploading the Project

Before uploading your project to Square Cloud, it is important to understand that you need to purchase a plan. The type of plan you choose will depend on the resources required by your application. You can view our plans here.
Wondering how much RAM and CPU your plan needs to host a Django application? Don’t worry, we’re here to help. Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. It was built by experienced developers and takes care of much of the hassle of web development, so you can focus on writing your app without needing to reinvent the wheel. Our Standard plan offers 4GB of RAM and 4vCPU, which should be sufficient for most Django applications. However, if you are working on a larger project and seeking extra stability, we recommend considering our Pro plan. With additional resources, you can maintain stability even during demand spikes. To purchase, simply click here.

Uploading the Project to Square Cloud

After preparing your project files, you can now upload them to Square Cloud and host your project.
Access the Square Cloud Dashboard and upload your project files.

Additional Resources

For more information about Django and its tools, visit the official Django documentation. There, you will find detailed guides, tutorials, and API documentation to help you make the most of Django.

Troubleshooting

Custom Domain

To use a custom domain (e.g., mysite.com) instead of the default URL https://mysite.squareweb.app/, you need the Standard plan or higher. The subdomain is defined by the SUBDOMAIN field in the configuration file. See: How to set up your custom domain.

Minimum RAM Requirements

Minimum: 512MB RAM for simple websites/APIs. For sites with frameworks (Next.JS, React, Vue, Angular, etc.), we always recommend at least 1GB RAM. For larger applications, use more RAM to avoid LACK_OF_RAM error and ensure performance.

Could not find this site.

Check if the subdomain/domain matches what's configured in the SUBDOMAIN field or in the custom domain settings. If you just uploaded the site, wait up to 60 seconds for Square to enable first access.

Site took too long to respond...

Check if you correctly configured port 80 and host 0.0.0.0 in the application. We recommend using Square's forced environment variables: PORT and HOST from the .env file.
If you continue facing technical difficulties, our specialized support team is available to assist you. Contact us and we'll be happy to help you resolve any issue. icon: “python”