Python + Djangoで外部CSS,JSを使用する
DjangoのTemplateで、外部ファイルを使用するサンプルです。参照できるまで苦労したのでメモしておきます
アプリケーションは「useexternal」とします
1.環境
- windows10 home 64bit
- Python 3.6.5
- Django==2.0.4
・サンプルアプリケーションの作成
コマンドプロンプトで仮想環境(venv)をactivateして、アプリケーションを作成します。
c:\data\python\venv>Scripts\activate
(venv) c:\data\python\mysite>django-admin startapp useexternal
実行後は以下のファイル構成になっています。
C:\DATA\PYTHON\MYSITE
│ db.sqlite3
│ manage.py
├─mysite
│ │ settings.py
│ │ urls.py
├─static
│ ├─css
│ │ bootstrap.min.css
│ ├─js
│ │ jquery-3.3.1.min.js
├─templates
│ └─useexternal
│ index.html
└─useexternal
│ urls.py
│ views.py
※編集するファイルのみ記載しています。
2.mysite/settings.py
・・・
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'useexternal',
]
・・・
TEMPLATES = [
{
'DIRS': [
os.path.join(BASE_DIR, 'templates'),
],
],
},
},
]
・・・
STATIC_URL = '/static/'
STATICFILES_DIRS = (
[
os.path.join(BASE_DIR, "static"),
]
)
Point
- INSTALLED_APPSに作成するアプリ名「useexternal」を追加
- TEMPLATES DIRSは「os.path.join(BASE_DIR, "templates")」とする
- STATICFILES_DIRSは「os.path.join(BASE_DIR, "static")」とする
3.mysite/urls.py
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^useexternal/', include('useexternal.urls')),
url(r'^admin/', admin.site.urls),
]
Point
urlpatterns に「url(r'^useexternal/', include('useexternal.urls')),」を追加します
4.useexternal/urls.py
urls.pyは、ファイルを作成して以下のように編集します
from django.conf.urls import url
from . import views
urlpatterns = [
url('', views.index, name='useexternal'),
]
5.useexternal/views.py
from django.shortcuts import render
def index(request):
return render(request, 'useexternal/index.html')
6.templates/useexternal/index.html
Templateとするhtmlは、templates/「appname」の下に作成します
{% load static %}
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>外部css,jsを使用する</title>
<link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">
</head>
<body>
<script type="text/javascript" src="{% static 'js/jquery-3.3.1.min.js' %}"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
</body>
</html>
Point
- {% load static %}をつけます
- cssの外部ファイル名は<link href="{% static '<cssファイル名>' %}" rel="stylesheet">
とします
- jsの外部ファイル名は<
script type="text/javascript" src="{% static '<jsファイル名>' %}"></script>
とします
7.css,jsの配置
staticフォルダの下にcss,jsを作成します
├─static
│ ├─css
│ │ bootstrap.min.css
│ ├─js
│ │ jquery-3.3.1.min.js
問題ないようです。
Author And Source
この問題について(Python + Djangoで外部CSS,JSを使用する), 我々は、より多くの情報をここで見つけました https://qiita.com/t-iguchi/items/20dc31d5e004d7145634著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .