Hướng dẫn tích hợp cdn vào framework Django

  • Monday 13/04/2020

Tham khảo cách tích hợp cdn vào framework Django:

B1. Mở file urls.py trên cùng thư mục với thư mục media của bạn

B2.  sửa nội dung 

# This is only needed when using runserver.
if settings.DEBUG:
    urlpatterns = patterns('',
        url(r'^media/(?P<path>.*)$', 'django.views.static.serve', # NOQA
            {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
        ) + staticfiles_urlpatterns() + urlpatterns # NOQA
#urlpatterns = static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) Thành
# This is only needed when using runserver.
if settings.DEBUG:
    urlpatterns = patterns('',
        url(r'^static/(?P<path>.*)$', 'django.views.static.serve', # NOQA
            {'document_root': settings.STATIC_ROOT, 'show_indexes': True}),
        ) + urlpatterns # NOQA
urlpatterns = patterns('',
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve', # NOQA
        {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
    ) + staticfiles_urlpatterns() + urlpatterns # NOQA
#urlpatterns = static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
B3. Mở file settings.py tìm 2 dòng  STATIC_URL và MEDIA_URL  thay thế thành như sau:

STATIC_URL = 'http://linkyourcdn/static/'
MEDIA_URL =  'http://linkyourcdn/media/'

P/S: linkyourcdn = là link cdn mà bạn đã tạo cdn ở nhà cung cấp CDN ví dụ http://cdn.pavietnam.vn

Để sao chép các tệp tĩnh này, trước tiên hãy đảm bảo bạn đang chạy trong môi trường ảo từ thư mục gốc Django:
$ source env/bin/activate

Khi việc này hoàn tất, hãy điều hướng đến thư mục ứng dụng của bạn, nơi tệp Manage.txt được lưu trữ và chạy lệnh sau:
$ python manage.py collectstatic
Bất kỳ tệp tĩnh bên ngoài nào bây giờ sẽ được kéo vào thư mục STATIC_ROOT của bạn, sau đó sẽ được gửi qua CDN.
Sử dụng STATIC_URL trong các tệp mẫu của bạn để tham chiếu các tệp của bạn từ thư mục tĩnh, ví dụ:
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}test.css">