Help with django setup

tony-hunter
HOBBY

a year ago

hi

project ID: 510ee6ef-4e3d-4fe3-ae13-2f21650a1e6f

first time setting up a django project on railway (which looks awesome btw).

I've got a project that contains a django backend and a react frontend in this format:

root_dir:
/frontend//
… has build, source, public, etc
//
… is my django app, has bin, include, lib, python files
manage.py
README.md

when deploying I get this error:

?: (staticfiles.W004) The directory '/app/frontend//build/static' in the STATICFILES_DIRS setting does not exist.

I've tried a number of things to resolve, but it looks like the frontend directory isn't being pulled from git, even though it's in the repo.

Any ideas?

0 Replies

tony-hunter
HOBBY

a year ago

to be clear, my python code is there, builds fine, the django app runs, but can't find the static files


a year ago

are you trying to have your django app serve the frontend?


tony-hunter
HOBBY

a year ago

yes


a year ago

that's really not ideal, instead let's have them as separate services, a service for the frontend and a service for the backend


a year ago

please separate this repo out into two folders -

.
├── backend/
│   ├── manage.py
│   └── ...
└── frontend/
    ├── package.json
    └── ...

tony-hunter
HOBBY

a year ago

just to check, what is not ideal - django serving the frontend?


a year ago

correct


tony-hunter
HOBBY

a year ago

so is the right way to do it just have two seperate services/directories?


a year ago

correct


a year ago

and we will work through that step by step


tony-hunter
HOBBY

a year ago

cool man thank you - get to this later today


tony-hunter
HOBBY

a year ago

thanks for your help


a year ago

no problem!


tony-hunter
HOBBY

a year ago

which template is best for a standard react app?


tony-hunter
HOBBY

a year ago

?

1225865736358985700


a year ago

mine, but you'd only need the nixpacks.toml and Caddyfile from it


a year ago

you don't need to start a new project, you just need to restructure your project like this