Django Debug Toolbar causes 404 error in DEBUG mode - python

After installing Django Debug Toolbar and adding all setting, I'm getting 404 error.
I did command collectstatic, but that did not help.
Here is my files:
settings.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
....
INSTALLED_APPS = [
...
'debug_toolbar',
...
]
MIDDLEWARE = [
...
'whitenoise.middleware.WhiteNoiseMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
]
...
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'spare_part/static')
]
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
INTERNAL_IPS = ["127.0.0.1", ]
urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('mileage.urls')),
]
if settings.DEBUG:
import debug_toolbar
urlpatterns = [
path('__debug__/', include(debug_toolbar.urls)),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
What to do?

Just found the solution:
in urls.py might to be "urlpatterns +="
urlpatterns += [
path('__debug__/', include(debug_toolbar.urls)),
]

change url.py to :
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('mileage.urls')),
]
if settings.DEBUG:
import debug_toolbar
urlpatterns += [
path('__debug__/', include(debug_toolbar.urls)),
]
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL,
document_root=settings.STATIC_ROOT

Related

Ckeditor texteditor not appearing in django admin where RichTextfield is applied

I have tried everything but the texteditor is not appearing in the admin page in the richtextfield type. I installed django ckeditor and have the following in the settings.py:
Richtextfield pic
CKEDITOR_BASEPATH = "/static/ckeditor/ckeditor/"
CKEDITOR_UPLOAD_PATH = "uploads/"
#ckeditor configs #todo
CKEDITOR_CONFIGS = {
'default': {
'toolbar': 'full',
'width': 1000,
'height': 400
},
}
DEBUG = False
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
My urls is as follows:
urlpatterns = [
path('admin/', admin.site.urls),
path('', admin.site.urls),
path('', include('apps.accounts.urls')),
path('', include('apps.blogs.urls')),
path('', include('apps.enquiry.urls')),
path('', include('apps.packages.urls')),
path('', include('apps.booking.urls')),
path('ckeditor', include('ckeditor_uploader.urls')),
]+static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
# ]+static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
if settings.DEBUG is True:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
I have even tried collectstatic and every files are collected but still the richtextfield appears blank. How to solve this??

Static and media files are not loaded in production

You can see my urls.py and my settings.py.
Server
NGINX, gunicorn
urls.py
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include("appCms.urls"))
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static_cdn/')
MEDIA_URL ='/mediafiles/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'mediafiles_cdn/')

Static files couldnt applied in Django

I'm new in Django and i see course in youtube
I try to include bootstrap\css files into HTML template and i created a static file into the app like the photo
Also i checked the file(second\ urls.py) and in it the code
'''
STATIC_URL = '/static/'
INSTALLED_APPS = [
'accounts',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
'''
And in login.html there is this link
'''
{% load static%}
<link rel="=stylesheet" type="text/css" href="{% static 'accounts/style.css' %}">
'''
I applied other way like adding this second\setting.py
STATICFILES_DIRS = [
os.path.join(BASE_DIR,"accounts/static"),
'accounts/static/'
]
And this is my urls.py file
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
path('admin/', admin.site.urls),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
In the terminal there is warning but i think it isnt affect
WARNINGS:
?: (2_0.W001) Your URL pattern '^account/' has a route that contains '(?P<', begins with a '^', or ends with a '$'. This was likely an
oversight when migrating to django.urls.path().
UPDATE: After looking in your application code, I've found the problem.
You have to put this code
+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
in the main urls.py file , in your case is the second/urls.py .
And make sure you have this code
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'name_of_the_root_directory/static'),
]
in your settings.py file
Have you run the collectstatic command ? python manage.py collectstatic.
Maybe try changing this in your urls.py file
urlpatterns = [
url(r'^$', views.home),
]
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Into this
urlpatterns = [
url(r'^$', views.home),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
This is my configuration in settings.py
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'name_of_the_root_directory/static'),
]
And this is my urls.py file
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
path('admin/', admin.site.urls),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
If you follow my example, you have to run the collectstatic command from the terminal window

NameError: name 'urlpatterns' is not defined

I'm trying to show an image using "ImageField"
from django.conf.urls.static import static
from django.conf import settings
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
settings.py:
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
MEDIA_ROOT = ''
MEDIA_URL = "/media/"
You need initialise urlpatterns first. Like,
urlpatterns = []
Then, you can do this,
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
set your settings.py like this,
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = "/media/"
from django.contrib import admin
from django.conf.urls import include, url
urlpatterns=[
url(r'^admin/', include(admin.site.urls))
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
write this total code in your urls.py
try this:
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()

CKedit image upload not working

This is my urls.py
from django.conf.urls import include, url
from django.contrib import admin
from django.contrib.auth import views
from django.conf import settings
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^accounts/login/$', views.login, name='login'),
url(r'^accounts/logout/$', views.logout, name='logout', kwargs={'next_page': '/'}),
url(r'^ckeditor/', include('ckeditor_uploader.urls')),
url(r'', include('blog.urls')),
]
settings.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
LOGIN_REDIRECT_URL = '/'
MEDIA_URL = '/media/'
CKEDITOR_UPLOAD_PATH = 'uploads/'
CKEDITOR_JQUERY_URL = 'http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'
Error code
I will upload image using CKeditor.
However, there is a 404 error.
What should I do?
To use the development server to deliver media files you need something like this in your urls.py
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
As far as I am aware Ckeditor does not add that automatically so you will need to ad this code to your urls.py

Categories

Resources