Hallo,
da ich lokal einfach nur mit "manage.py runserver" ohne Probleme auf die Webseite zugreifen kann, wollte ich das auch auf meinem dedicated Server machen, um dann mit <domain>:8000 darauf zuzugreifen. Der einzige Unterschied ist, dass ich hinter "manage.py runserver" 0.0.0.0:8000 angefügt habe. Jetzt werden die static-files nicht mehr richtig behandelt (404). Wie kann ich das einfach lösen ?
Django einfach hosten
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

Also sollte es in der Theorie einfach so funktioinieren (python3.6 manage.py runserver 0.0.0.0:8000) ? War verwirrt, weil ich davor eine Webseite mit nginx und uwsgi gehostet habe, und dafür noch STATIC_ROOT in settings.py definieren musste, und dann halt mit manage.py collecstatic usw. Also wie es mir scheint, brauch man das nicht unbedingt.
Serverlog, soweit man es so nennen kann:

In settings.py habe ich nichts außer den ALLOWED_HOSTS, dem LANGUAGE_CODE, der TIME_ZONE und DEBUG geändert.
Serverlog, soweit man es so nennen kann:

In settings.py habe ich nichts außer den ALLOWED_HOSTS, dem LANGUAGE_CODE, der TIME_ZONE und DEBUG geändert.
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

Das scheint dir falsch und damit dass auch auffällt fehlen dir auch die static files.
In bestimmten Umgebungen (z.b. Heroku) macht es Sinn statische Dateien durch deinen WSGI Server (nicht runserver) ausliefern zu lassen, dafür gibt es middlewares wie whitenoise.
Aber warum funktioniert das dann bei Windows, und bei Debian nicht ?
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

Außerdem funktioniert es auch nach dem Erstellen vom "static"-ordner und dem Ausführen von collectstatic nicht. (Ja, ich habe static-root definiert (STATIC_ROOT = os.path.join(BASE_DIR, "static/")))
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

Das ist meine setting.py Datei:
Da steht nichts zu STATICFILES_FINDERS und STATICFILES_DIRS, wo finde ich das ? Meine static-ordner ist auf dem selben Level wie manage.py. In dem Ordern ist dann der Unterordnet admin etc.
Code: Alles auswählen
"""
Django settings for personal_website project.
Generated by 'django-admin startproject' using Django 2.1.1.
For more information on this file, see
https://docs.djangoproject.com/en/2.1/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/2.1/ref/settings/
"""
import os
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'X)'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
ALLOWED_HOSTS = ['www.xxx.de', 'xxx.de']
# Application definition
INSTALLED_APPS = [
'blog',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'personal_website.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'personal_website.wsgi.application'
# Database
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Password validation
# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
# Internationalization
# https://docs.djangoproject.com/en/2.1/topics/i18n/
LANGUAGE_CODE = 'de-DE'
TIME_ZONE = 'Europe/Berlin'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/
STATIC_URL = '/static/'
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

Es macht ja wenig Sinn, als «STATIC_ROOT» das Verzeichnis anzugeben, wo Du sowieso schon die statischen Dateien sammelst.
«STATICFILES_DIRS» dagegen ist bei Dir leer, wo der STATICFILES_FINDERS FileSystemFinder sie sucht, und deshalb nicht findet.
oder speichere die statischen Dateien in einem «[app]/static»-Verzeichniss für jede App separat, wie es üblich ist.
«STATICFILES_DIRS» dagegen ist bei Dir leer, wo der STATICFILES_FINDERS FileSystemFinder sie sucht, und deshalb nicht findet.
Code: Alles auswählen
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static/")
]
Ich habe es aber so gemacht, dass ich die Staticfiles seperat für jede App in static gespeichert habe. Ein Beispiel: blog/static/blog/css/blog_list.css (blog ist die App).
Wenn ich das oben vorgeschlagene zu settings.py hinzufüge bekomme ich den Fehler: "(staticfiles.E002) The STATICFILES_DIRS setting should not contain the STATIC _ROOT setting.", wenn ich STATIC_ROOT raus nehme, funktioniert es auch nicht.
Wenn ich das oben vorgeschlagene zu settings.py hinzufüge bekomme ich den Fehler: "(staticfiles.E002) The STATICFILES_DIRS setting should not contain the STATIC _ROOT setting.", wenn ich STATIC_ROOT raus nehme, funktioniert es auch nicht.
Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 

Die Datei ist auch in den Staticfiles von der Blog-App. Die App ist in personal_webseite, dem selben Ordner wie manage.py. Der Absolute Pfad von site.css ist: /home/mein_name/webseite/personal_website/blog/static/site/css/site.css
Aber ist okay, ich hoste es jetzt wie ich es bereites kenne, einfach mit Nginx und uwsgi, dann kann ich auch ne subdomain einstellen. Trotzdem Danke für die Hilfe ! Nächstesmal versuche ich direkt die benötigten Infos zu geben, um euch das ewige Nachfragen zu erstparen, sry
Aber ist okay, ich hoste es jetzt wie ich es bereites kenne, einfach mit Nginx und uwsgi, dann kann ich auch ne subdomain einstellen. Trotzdem Danke für die Hilfe ! Nächstesmal versuche ich direkt die benötigten Infos zu geben, um euch das ewige Nachfragen zu erstparen, sry

Für alle meine Codebeispiele gilt: Äußert bitte jegliche Art von Verbesserungsvorschlägen. Ich versuche immer meinen Stil zu verbessern und wenn man mir einfach sagt, was ich falsch machen, ist es um einiges einfacher, als wenn ich es mühselig selber herausfinden muss 
