Hangon
Hangon

Reputation: 2609

How to serve files in Django without "/static" prefix

I have an angular 2 front-end with already written links between html js, css and other files such as images, that I would like to serve using Django.

The structure from Angular 2 looks like following:

-->index.html
-->test.js
-->test.css

HTML file:

<!doctype html>
<html lang="en">
    <head>
         <link href="test.css" rel="stylesheet"/>
    </head>
<body>
          <script type="text/javascript" src="test.js">
</body>

I wouldn't like to change the given paths from the angular 2 app, instead I would like to know the workaround to serve this files in django without using "/static/< appname>/" or "/static/" prefix or template tags in every link.

Update

Trying to avoid

<!doctype html>
<html lang="en">
    <head>
         <link href="/static/test.css" rel="stylesheet"/>
    </head>
<body>
          <script type="text/javascript" src="/static/test.js">
</body>

and avoiding this:

{% load static %} <link href="{% static "example.jpg" %}" rel="stylesheet"/>

In other words, trying to adapt django builtin webserver to serve angular files without adapting ("static" prefix or tag) them to django.

Thank you in advance!

Upvotes: 1

Views: 986

Answers (1)

Mark Chackerian
Mark Chackerian

Reputation: 23512

You say you want to "serve your files" from Django, but I think you really want to serve them from something like Nginx. For example,

location = /js/test.js {
    root /path/to/js/;
}

in your nginx file. For the purposes of Angular2 URLs, you can pretend that Django doesn't exist.

Upvotes: 1

Related Questions