How to Deploy Django with NativeScript

Django is a powerful web framework that allows developers to quickly create web applications. NativeScript is a platform for building native mobile apps using JavaScript, TypeScript, or Angular. In this tutorial, we will show you how to deploy a Django application with NativeScript.

Install the NativeScript CLI

The first step is to install the NativeScript Command Line Interface (CLI). This will allow us to create and manage our NativeScript projects. To install the CLI, open a terminal window and run the following command:

npm install -g nativescript

Once the installation is complete, you can verify that it was successful by running the following command:

tns --version

Create a New Project

Now that we have the NativeScript CLI installed, we can create a new project. To do this, run the following command in your terminal window:

tns create my-project --template tns-template-blank-ng

This will create a new project called “my-project” using the “tns-template-blank-ng” template. This template is based on Angular and will provide us with a basic structure for our application.

Install the Django Framework

Next, we need to install the Django framework. To do this, we will use pip, which is a package manager for Python. First, make sure that you have Python installed on your system. Then, open a terminal window and run the following command:

pip install django

This will install the latest version of Django on your system.

Configure the Django Settings

Now that we have Django installed, we need to configure it. To do this, open the “settings.py” file in your project directory and add the following lines:

ALLOWED_HOSTS = ['*']  # Allow all hosts 
STATIC_URL = '/static/'  # Set static URL 
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]  # Set static directory

These settings will allow us to serve static files from our application.

Create a New App

Now that we have configured our settings, we can create a new app. To do this, open a terminal window and run the following command:

python manage.py startapp myapp

This will create a new app called “myapp” in your project directory.

Add the App to the Project

Next, we need to add our app to our project. To do this, open the “settings.py” file in your project directory and add the following line:

INSTALLED_APPS = [  'django.contrib.admin',  'django.contrib.auth',  'django.contrib.contenttypes',  'django.contrib.sessions',  'django.contrib.messages',  'django.contrib.staticfiles',  'myapp',]

This will add our app to our project.

Create a New View for the App

Now that we have added our app to our project, we need to create a view for it. To do this, open the “views.py” file in your app directory and add the following code:


from django.shortcuts import render
def index(request):
return render(request, 'index.html')

This view will render an HTML page called “index.html” when it is called.


Deploy the App to NativeScript


Finally, we can deploy our app to NativeScript. To do this, open a terminal window and run the following command:



tns run android --bundle --env.production --env.
productionSourceMap=false --env.
uglify=true --env.
aot=true --env.
sourceMap=false --env.
vendorChunk=true --env.
reportWebpackStats=true --env.
reportWebpackWarnings=true --env.
reportWebpackErrors=true --env.
webpackAnalyze=false --env.
webpackBundleAnalyzer=false --env.
webpackVisualizer=false --env.
webpackOptimizeMinimize=true --env.
webpackOptimizeOccurrenceOrder=true --env.
webpackOptimizeDedupe=true --env.
webpackOptimizeAggressiveMerging=true --env.
webpackOptimizeModuleConcatenation=true --env.
webpackOptimizeUglifyJs=true --env.
webpackOptimizeUglifyJsComments=false

This command will build and deploy your application to an Android device or emulator.


Conclusion


In this tutorial, we have shown you how to deploy a Django application with NativeScript. We started by installing the NativeScript CLI and creating a new project. Then, we installed Django and configured its settings before creating an app and adding it to our project. Finally, we created a view for our app and deployed it to NativeScript.


Useful Links: