{"id":2427,"date":"2026-10-09T12:50:01","date_gmt":"2026-10-09T12:50:01","guid":{"rendered":"https:\/\/entri.app\/explore\/?post_type=curriculum&#038;p=2427"},"modified":"2026-10-09T12:51:07","modified_gmt":"2026-10-09T12:51:07","slug":"python-django-static-files","status":"publish","type":"curriculum","link":"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/","title":{"rendered":"Python Django Static Files"},"content":{"rendered":"<h1><strong><b>What Are Static Files in Django? How to Add, Load and Collect Them<\/b><\/strong><\/h1>\n<p>Static files in Django are the CSS, JavaScript, images and fonts that are the same for every visitor. Django manages them with the built-in django.contrib.staticfiles\u00a0app. You store them in static\/\u00a0folders, reference them in templates with {% static %}, and run collectstatic\u00a0to gather them into one folder for production.<\/p>\n<p>Static files are different from <strong><b>media files<\/b><\/strong>. Media files are uploaded by users at runtime, such as profile photos or documents. Mixing the two up is the most common reason images and stylesheets fail to load.<\/p>\n<h2><strong><b>Static Files vs Media Files in Django<\/b><\/strong><\/h2>\n<table>\n<tbody>\n<tr>\n<td width=\"166\"><\/td>\n<td width=\"292\"><strong><b>Static files<\/b><\/strong><\/td>\n<td width=\"292\"><strong><b>Media files<\/b><\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"166\">Who creates them<\/td>\n<td width=\"292\">Developers, as part of the code<\/td>\n<td width=\"292\">Users, by uploading at runtime<\/td>\n<\/tr>\n<tr>\n<td width=\"166\">Examples<\/td>\n<td width=\"292\">style.css, app.js, logo.png, fonts<\/td>\n<td width=\"292\">Profile photos, resumes, product images<\/td>\n<\/tr>\n<tr>\n<td width=\"166\">Settings<\/td>\n<td width=\"292\">STATIC_URL, STATICFILES_DIRS, STATIC_ROOT<\/td>\n<td width=\"292\">MEDIA_URL, MEDIA_ROOT<\/td>\n<\/tr>\n<tr>\n<td width=\"166\">In templates<\/td>\n<td width=\"292\">{% static &#8216;css\/style.css&#8217; %}<\/td>\n<td width=\"292\">{{ user.photo.url }}<\/td>\n<\/tr>\n<tr>\n<td width=\"166\">In Git?<\/td>\n<td width=\"292\">Yes (source folders)<\/td>\n<td width=\"292\">No<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h2><strong><b>How to Manage Static Files in Django: The Settings That Matter<\/b><\/strong><\/h2>\n<table>\n<tbody>\n<tr>\n<td width=\"200\"><strong><b>Setting<\/b><\/strong><\/td>\n<td width=\"318\"><strong><b>Purpose<\/b><\/strong><\/td>\n<td width=\"233\"><strong><b>Example<\/b><\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"200\">STATIC_URL<\/td>\n<td width=\"318\">URL prefix for static files in the browser<\/td>\n<td width=\"233\">&#8220;static\/&#8221;<\/td>\n<\/tr>\n<tr>\n<td width=\"200\">STATICFILES_DIRS<\/td>\n<td width=\"318\">Extra source folders outside apps (for shared, project-wide assets)<\/td>\n<td width=\"233\">[BASE_DIR \/ &#8220;static&#8221;]<\/td>\n<\/tr>\n<tr>\n<td width=\"200\">STATIC_ROOT<\/td>\n<td width=\"318\">Single folder where collectstatic copies everything for production<\/td>\n<td width=\"233\">BASE_DIR \/ &#8220;staticfiles&#8221;<\/td>\n<\/tr>\n<tr>\n<td width=\"200\">STORAGES[&#8220;staticfiles&#8221;]<\/td>\n<td width=\"318\">Storage backend, e.g. for hashed filenames or cloud storage<\/td>\n<td width=\"233\">ManifestStaticFilesStorage or WhiteNoise<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Django also looks inside every installed app&#8217;s static\/\u00a0folder automatically. Namespace app files the same way as templates, as blog\/static\/blog\/css\/style.css, so two apps&#8217; style.css\u00a0files don&#8217;t collide.<\/p>\n<p><em><i>Version note: since Django 4.2, the storage backend is configured with the <\/i><\/em><em><i>STORAGES<\/i><\/em><em><i>\u00a0setting. The older <\/i><\/em><em><i>STATICFILES_STORAGE<\/i><\/em><em><i>\u00a0setting was removed in Django 5.1, so older tutorials that use it will break on current versions.<\/i><\/em><\/p>\n<h2><strong><b>How to Load and Link Static Files in a Django Template<\/b><\/strong><\/h2>\n<p>Load the static tag library once at the top of each template that uses it, then link each file with {% static %}. Never hard-code \/static\/\u2026\u00a0paths; the tag builds the correct URL and picks up hashed filenames in production.<\/p>\n<p>{% load static %}<\/p>\n<p>&lt;link rel=&#8221;stylesheet&#8221; href=&#8221;{% static &#8216;blog\/css\/style.css&#8217; %}&#8221;&gt;<\/p>\n<p>&lt;script src=&#8221;{% static &#8216;blog\/js\/app.js&#8217; %}&#8221; defer&gt;&lt;\/script&gt;<\/p>\n<p>&lt;img src=&#8221;{% static &#8216;blog\/img\/logo.png&#8217; %}&#8221; alt=&#8221;Blog logo&#8221;&gt;<\/p>\n<p>&nbsp;<\/p>\n<h2><strong><b>How to Collect Static Files in Django for Production<\/b><\/strong><\/h2>\n<p>With DEBUG = True, runserver\u00a0serves static files straight from the app folders and STATICFILES_DIRS. With DEBUG = False, Django stops serving them, so before deploying you:<\/p>\n<ol>\n<li>Set STATIC_ROOT, for example BASE_DIR \/ &#8220;staticfiles&#8221;.<\/li>\n<li>Run python manage.py collectstatic. It copies every static file from apps and STATICFILES_DIRSinto STATIC_ROOT.<\/li>\n<li>Serve STATIC_ROOTwith your web server (Nginx location \/static\/), a CDN or cloud storage, or with the WhiteNoise package directly from your Django\/Gunicorn process.<\/li>\n<\/ol>\n<p># settings.py (production with WhiteNoise)<\/p>\n<p>STATIC_URL = &#8220;static\/&#8221;<\/p>\n<p>STATIC_ROOT = BASE_DIR \/ &#8220;staticfiles&#8221;<\/p>\n<p>MIDDLEWARE.insert(1, &#8220;whitenoise.middleware.WhiteNoiseMiddleware&#8221;)<\/p>\n<p>STORAGES = {<\/p>\n<p>&#8220;default&#8221;: {&#8220;BACKEND&#8221;: &#8220;django.core.files.storage.FileSystemStorage&#8221;},<\/p>\n<p>&#8220;staticfiles&#8221;: {&#8220;BACKEND&#8221;: &#8220;whitenoise.storage.CompressedManifestStaticFilesStorage&#8221;},<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n<h2><strong><b>How to Add Static Files (CSS, JavaScript and Images) to a Django Project<\/b><\/strong><\/h2>\n<p>You will create app-level and project-level static folders, link CSS, JavaScript and an image in a template, and prepare everything for production with collectstatic. It takes 7 steps and about 15 minutes.<\/p>\n<h2><strong><b>Prerequisites<\/b><\/strong><\/h2>\n<ul>\n<li>A Django project with a blogapp and a template rendered by a view.<\/li>\n<li>contrib.staticfilesin INSTALLED_APPS\u00a0(included by default).<\/li>\n<li>DEBUG = Truewhile developing.<\/li>\n<\/ul>\n<h2><strong><b>Steps<\/b><\/strong><\/h2>\n<h3><strong><b>Step 1: Create a namespaced app static folder<\/b><\/strong><\/h3>\n<p>Inside the app, create static\/blog\/\u00a0with css, js\u00a0and img\u00a0subfolders.<\/p>\n<p>blog\/<\/p>\n<p>\u2514\u2500\u2500 static\/<\/p>\n<p>\u2514\u2500\u2500 blog\/<\/p>\n<p>\u251c\u2500\u2500 css\/style.css<\/p>\n<p>\u251c\u2500\u2500 js\/app.js<\/p>\n<p>\u2514\u2500\u2500 img\/logo.png<\/p>\n<p>&nbsp;<\/p>\n<h3><strong><b>Step 2: Add some CSS and JavaScript<\/b><\/strong><\/h3>\n<p>Put a visible rule in style.css\u00a0and a console message in app.js\u00a0so you can confirm both load.<\/p>\n<p>\/* style.css *\/<\/p>\n<p>body { background: #F5F8FF; }<\/p>\n<p>&nbsp;<\/p>\n<p>\/\/ app.js<\/p>\n<p>console.log(&#8220;Static JS loaded&#8221;);<\/p>\n<p>&nbsp;<\/p>\n<h3><strong><b>Step 3: Add a project-level static folder (optional)<\/b><\/strong><\/h3>\n<p>For assets shared across apps, create static\/\u00a0at the project root and register it.<\/p>\n<p># settings.py<\/p>\n<p>STATIC_URL = &#8220;static\/&#8221;<\/p>\n<p>STATICFILES_DIRS = [BASE_DIR \/ &#8220;static&#8221;]<\/p>\n<p>&nbsp;<\/p>\n<h3><strong><b>Step 4: Load and link the files in your template<\/b><\/strong><\/h3>\n<p>At the top of the template, load the tag library, then link each file.<\/p>\n<p>{% load static %}<\/p>\n<p>&lt;link rel=&#8221;stylesheet&#8221; href=&#8221;{% static &#8216;blog\/css\/style.css&#8217; %}&#8221;&gt;<\/p>\n<p>&lt;script src=&#8221;{% static &#8216;blog\/js\/app.js&#8217; %}&#8221; defer&gt;&lt;\/script&gt;<\/p>\n<p>&lt;img src=&#8221;{% static &#8216;blog\/img\/logo.png&#8217; %}&#8221; alt=&#8221;Logo&#8221; height=&#8221;40&#8243;&gt;<\/p>\n<p>&nbsp;<\/p>\n<h3><strong><b>Step 5: Check in the browser<\/b><\/strong><\/h3>\n<p>Run python manage.py runserver, reload the page and open devtools. The Network tab should show 200 responses for all three files, and the console should print the message.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2428 size-medium\" src=\"https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files-300x161.webp\" alt=\"python_static_files\" width=\"300\" height=\"161\" srcset=\"https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files-300x161.webp 300w, https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files-1024x550.webp 1024w, https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files-768x413.webp 768w, https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files-1536x826.webp 1536w, https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files-2048x1101.webp 2048w, https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files.webp 2080w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\"><\/p>\n<h3><strong><b>Step 6: Set STATIC_ROOT for deployment<\/b><\/strong><\/h3>\n<p>Add an output folder that is separate from your source folders, and add it to .gitignore.<\/p>\n<p>STATIC_ROOT = BASE_DIR \/ &#8220;staticfiles&#8221;<\/p>\n<p>&nbsp;<\/p>\n<h3><strong><b>Step 7: Run collectstatic<\/b><\/strong><\/h3>\n<p>Copy all static files into STATIC_ROOT, ready to be served by Nginx, a CDN or WhiteNoise.<\/p>\n<p>python manage.py collectstatic &#8211;noinput<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2429 size-medium\" src=\"https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/django_static_run_collecstatic-300x62.webp\" alt=\"django_static_run_collecstatic\" width=\"300\" height=\"62\" srcset=\"https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/django_static_run_collecstatic-300x62.webp 300w, https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/django_static_run_collecstatic-1024x211.webp 1024w, https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/django_static_run_collecstatic-768x158.webp 768w, https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/django_static_run_collecstatic-1536x316.webp 1536w, https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/django_static_run_collecstatic-2048x421.webp 2048w, https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/django_static_run_collecstatic.webp 2080w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What Are Static Files in Django? How to Add, Load and Collect Them Static files in Django are the CSS, JavaScript, images and fonts that are the same for every visitor. Django manages them with the built-in django.contrib.staticfiles\u00a0app. You store them in static\/\u00a0folders, reference them in templates with {% static %}, and run collectstatic\u00a0to gather [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"template":"","meta":{"_acf_changed":false},"curriculum-category":[158,149],"custom_linking_tags":[161],"class_list":["post-2427","curriculum","type-curriculum","status-publish","hentry","curriculum-category-django","curriculum-category-python-tutorials","custom_linking_tags-django-mcqs"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Python Django Static Files - Entri Free Materials<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python Django Static Files - Entri Free Materials\" \/>\n<meta property=\"og:description\" content=\"What Are Static Files in Django? How to Add, Load and Collect Them Static files in Django are the CSS, JavaScript, images and fonts that are the same for every visitor. Django manages them with the built-in django.contrib.staticfiles\u00a0app. You store them in static\/\u00a0folders, reference them in templates with {% static %}, and run collectstatic\u00a0to gather [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/\" \/>\n<meta property=\"og:site_name\" content=\"Entri Free Materials\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-09T12:51:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"2080\" \/>\n\t<meta property=\"og:image:height\" content=\"1118\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/\",\"url\":\"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/\",\"name\":\"Python Django Static Files - Entri Free Materials\",\"isPartOf\":{\"@id\":\"https:\/\/entri.app\/explore\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files-300x161.webp\",\"datePublished\":\"2026-10-09T12:50:01+00:00\",\"dateModified\":\"2026-10-09T12:51:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/#primaryimage\",\"url\":\"https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files-300x161.webp\",\"contentUrl\":\"https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files-300x161.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/entri.app\/explore\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python Django Static Files\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/entri.app\/explore\/#website\",\"url\":\"https:\/\/entri.app\/explore\/\",\"name\":\"Entri Free Materials\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/entri.app\/explore\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/entri.app\/explore\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/entri.app\/explore\/#organization\",\"name\":\"Entri Free Materials\",\"url\":\"https:\/\/entri.app\/explore\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/entri.app\/explore\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/wp-cdn.entri.app\/explore\/2025\/03\/logo.svg\",\"contentUrl\":\"https:\/\/wp-cdn.entri.app\/explore\/2025\/03\/logo.svg\",\"caption\":\"Entri Free Materials\"},\"image\":{\"@id\":\"https:\/\/entri.app\/explore\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Python Django Static Files - Entri Free Materials","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/","og_locale":"en_US","og_type":"article","og_title":"Python Django Static Files - Entri Free Materials","og_description":"What Are Static Files in Django? How to Add, Load and Collect Them Static files in Django are the CSS, JavaScript, images and fonts that are the same for every visitor. Django manages them with the built-in django.contrib.staticfiles\u00a0app. You store them in static\/\u00a0folders, reference them in templates with {% static %}, and run collectstatic\u00a0to gather [&hellip;]","og_url":"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/","og_site_name":"Entri Free Materials","article_modified_time":"2026-10-09T12:51:07+00:00","og_image":[{"width":2080,"height":1118,"url":"https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/","url":"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/","name":"Python Django Static Files - Entri Free Materials","isPartOf":{"@id":"https:\/\/entri.app\/explore\/#website"},"primaryImageOfPage":{"@id":"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/#primaryimage"},"image":{"@id":"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/#primaryimage"},"thumbnailUrl":"https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files-300x161.webp","datePublished":"2026-10-09T12:50:01+00:00","dateModified":"2026-10-09T12:51:07+00:00","breadcrumb":{"@id":"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/#primaryimage","url":"https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files-300x161.webp","contentUrl":"https:\/\/wp-cdn.entri.app\/explore\/2026\/10\/python_static_files-300x161.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/entri.app\/explore\/python-programming\/python-django-static-files\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/entri.app\/explore\/"},{"@type":"ListItem","position":2,"name":"Python Django Static Files"}]},{"@type":"WebSite","@id":"https:\/\/entri.app\/explore\/#website","url":"https:\/\/entri.app\/explore\/","name":"Entri Free Materials","description":"","publisher":{"@id":"https:\/\/entri.app\/explore\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/entri.app\/explore\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/entri.app\/explore\/#organization","name":"Entri Free Materials","url":"https:\/\/entri.app\/explore\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/entri.app\/explore\/#\/schema\/logo\/image\/","url":"https:\/\/wp-cdn.entri.app\/explore\/2025\/03\/logo.svg","contentUrl":"https:\/\/wp-cdn.entri.app\/explore\/2025\/03\/logo.svg","caption":"Entri Free Materials"},"image":{"@id":"https:\/\/entri.app\/explore\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/entri.app\/explore\/wp-json\/wp\/v2\/curriculum\/2427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/entri.app\/explore\/wp-json\/wp\/v2\/curriculum"}],"about":[{"href":"https:\/\/entri.app\/explore\/wp-json\/wp\/v2\/types\/curriculum"}],"author":[{"embeddable":true,"href":"https:\/\/entri.app\/explore\/wp-json\/wp\/v2\/users\/2"}],"wp:attachment":[{"href":"https:\/\/entri.app\/explore\/wp-json\/wp\/v2\/media?parent=2427"}],"wp:term":[{"taxonomy":"curriculum-category","embeddable":true,"href":"https:\/\/entri.app\/explore\/wp-json\/wp\/v2\/curriculum-category?post=2427"},{"taxonomy":"custom_linking_tags","embeddable":true,"href":"https:\/\/entri.app\/explore\/wp-json\/wp\/v2\/custom_linking_tags?post=2427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}