স্ট্যাটিক ফাইল ও টেম্পলেট
settings.py and urls.py সেট করে ফেলি যাতে টেম্পলেট এবং মিডিয়া ফাইল নিয়ে পরে কাজ করতে পারি।
#settings.py
TEMPLATES = [
{
'DIRS': [BASE_DIR / 'templates'], # ঠিক এইরকম
}
]
STATIC_URL = 'static/'
STATICFILES_DIRS = [
BASE_DIR / 'static',
]
STATIC_ROOT=(BASE_DIR/ "assets/")
import os
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'assets/media/')
urls.py
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
]
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)প্রজেক্ট ফোল্ডার এর যে ফোল্ডার এ manage.py ফাইল যে ফোল্ডার এ আছে সেখানে ৩ টি ফোল্ডার বানান Comment
- 1.assets (আপাতত খালি)Comment
- 2.static/css (static ফোল্ডার এর মধ্যে css নামে আরেকটি ফোল্ডার বানাই)Comment
- 3.templates
Hompage পরিবর্তন করি
প্রজেক্ট এর templates ফোল্ডার এর মধ্যে home.html নামে একটি html ফাইল তৈরী করে সেটাকে হোমপেজ হিসাবে সেট করি
<!-- project/templates/home.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
hello
</body>
</html>project urls.py
from django.views.generic import TemplateView
class HomeView(TemplateView):
template_name = 'home.html'
urlpatterns = [
path('', HomeView.as_view(), name='home'),
]বেস টেমপ্লেট বানাই
templates ফোল্ডারের মধ্যে base.html নামে একটি ফাইল তৈরী করি।Comment
base.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{% if title %} {{title}} {% else %} Blog {% endif %}</title>
</head>
<body>
{% block content %}
{% endblock %}
</body>
</html>
হোম পেজ এ বেজ টেমপ্লেট এক্সটেন্ডস করি
Comment
চাইল্ড টেম্পলেট গুলোতে নিচের মত কোড লিখে base টেম্প্লেটকে এক্সটেন্ডস করে কাজ করবোComment
home.html
{% extends 'base.html' %}
{% block content %}
<!-- এখানে কনটেন্ট পরিবর্তনের কোড থাকবে -->
Hello
{% endblock %}html টেম্পলেট কে কনভার্ট করি
কাস্টম css ,js ,images ফাইল নিয়ে কাজ করার জন্য static ফোল্ডারের মধ্যে css ,js ,images নামে ফোল্ডার তৈরী করি।Comment
css এবং js ফাইলগুলো static/css এবং static/js ফোল্ডারে রাখি।
base.html ফাইলে css এবং js ফাইল static ফোল্ডার থেকে যোগ করি। এজন্য base.html ফাইলের ভিতরে html শুরু হওয়ার পূর্বে
{% load static %}লিখে নিচের মত করে css এবং js ফাইল লোড করতে হবে।
base.html
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{% if title %} {{title}} {% else %} Blog {% endif %}</title>
<link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}" />
</head>
<body>
{% block content %}
{% endblock %}
<script src="{% static 'js/bootstrap.min.js' %}" defer></script>
</body>
</html>django সার্ভার রিস্টার্ট করি
নোট
আমাদের প্রতিটি html টেম্পলেট এ
{% extends 'base.html' %} এর পরের লাইনে
{% load static %}লিখতে হবে।