Size: a a a

Django [ru] #STAY HOME

2021 January 21

D

DiZiNnEs in Django [ru] #STAY HOME
Доброго времени суток, у меня такое строение директории static,

и в settings.py указал:
STATIC_URL = '/static/'
STATIC_ROOT = 'static'

указываю в HTML такой путь:
{% load static %}
<link rel="stylesheet" href="{% static 'css/style.css' %}">

Но все ровно выдает 404 ошибку и никак не находит мою статику, что я делаю не так ?
источник

q

qb in Django [ru] #STAY HOME
Dan Tyan
капитана или юзера ? =)
айдишник юзера в конце мне нужен
источник

DT

Dan Tyan in Django [ru] #STAY HOME
DiZiNnEs
Доброго времени суток, у меня такое строение директории static,

и в settings.py указал:
STATIC_URL = '/static/'
STATIC_ROOT = 'static'

указываю в HTML такой путь:
{% load static %}
<link rel="stylesheet" href="{% static 'css/style.css' %}">

Но все ровно выдает 404 ошибку и никак не находит мою статику, что я делаю не так ?
по умолчанию django ищет static-у в каждом приложении в папке static
если ты выносишь статику в корень
тебе надо указать этут папку в STATICFILES_DIR
источник

D

DiZiNnEs in Django [ru] #STAY HOME
Так-с, сейчас сделаю)
источник

DT

Dan Tyan in Django [ru] #STAY HOME
DiZiNnEs
Так-с, сейчас сделаю)
при этом тебе надо учитывать что ты не можешь ее уазывать в этом спсике STATIC_ROOT
источник

DT

Dan Tyan in Django [ru] #STAY HOME
те STATIC_ROOT не должен входит в STATICFILES_DIR
источник

DT

Dan Tyan in Django [ru] #STAY HOME
и по хорошему вообще пересекаться
источник

DT

Dan Tyan in Django [ru] #STAY HOME
STATICFILES_DIRS
источник

D

DiZiNnEs in Django [ru] #STAY HOME
Я как понимаю, в settings.py должен быть или STATIC_ROOT или STATICFILES_DIRS
источник

DT

Dan Tyan in Django [ru] #STAY HOME
нет
источник

DT

Dan Tyan in Django [ru] #STAY HOME
STATIC_ROOT должен быть всегда
источник

D

DiZiNnEs in Django [ru] #STAY HOME
Ок
источник

DT

Dan Tyan in Django [ru] #STAY HOME
туда собирается статика при collectstatic
источник

DT

Dan Tyan in Django [ru] #STAY HOME
STATICFILES_DIRS = [] - сюда прописываются пути и которых не знает django по умолчанию
источник

D

DiZiNnEs in Django [ru] #STAY HOME
Ага, понял, пофиксил. А тепрь вопрос такой, у меня вся статика будет находится на одном уровне с проектом, и я короче сделал так:
STATICFILES_DIRS = [
   os.path.join(BASE_DIR, 'static/'),
]
STATIC_URL = '/static/'
STATIC_ROOT = 'static2'
источник

D

DiZiNnEs in Django [ru] #STAY HOME
с STATIC_ROOT рут нужно как-то красиво поступить, что с ним можно сделать ?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
os.path.join(BASE_DIR, 'static/'), - тут слэш не нужен
источник

D

DiZiNnEs in Django [ru] #STAY HOME
упс, да
источник

DT

Dan Tyan in Django [ru] #STAY HOME
DiZiNnEs
с STATIC_ROOT рут нужно как-то красиво поступить, что с ним можно сделать ?
не понял
источник

q

qb in Django [ru] #STAY HOME
qb
я затупил, тут другая итуация немного
у меня есть сериалайзер порта
у порта есть капитан harbor_master
у капитана есть поле user (OneToOne к юзеру)
вот я хочу чтобы мне отдавало в сериалайзере порта айдишник юзера связанного с капитаном
типо
{'harbor_master': 1} - 1 это айдишник связанного с капитаном юзера
мб кому-то будет полезно
решил проблему используя SerializerMethodField
источник