ಜಿಂಜಾ2 ಅನ್ನು ಬಳಸಿಕೊಂಡು ಫ್ಲಾಸ್ಕ್ ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರದ ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿ, ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ಗಳು, ಬ್ಲಾಕ್ ವ್ಯಾಖ್ಯಾನಗಳು ಮತ್ತು ಪರಿಣಾಮಕಾರಿ ವೆಬ್ ಅಭಿವೃದ್ಧಿಗಾಗಿ ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.
ಫ್ಲಾಸ್ಕ್ ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರ: ಜಿಂಜಾ2 ಟೆಂಪ್ಲೇಟ್ ಸಂಘಟನೆಯನ್ನು ಕರಗತ ಮಾಡಿಕೊಳ್ಳುವುದು
ವೆಬ್ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ, ಬಹು ಪುಟಗಳಲ್ಲಿ ಸ್ಥಿರವಾದ ನೋಟವನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳುವುದು ಬಹಳ ಮುಖ್ಯ. ಜನಪ್ರಿಯ ಪೈಥಾನ್ ವೆಬ್ ಫ್ರೇಮ್ವರ್ಕ್ ಆದ ಫ್ಲಾಸ್ಕ್, ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರದ ಮೂಲಕ ಇದನ್ನು ಸುಲಭಗೊಳಿಸಲು ಹೊಂದಿಕೊಳ್ಳುವ ಮತ್ತು ವೇಗದ ಟೆಂಪ್ಲೇಟ್ ಎಂಜಿನ್ ಆದ ಜಿಂಜಾ2 ರ ಶಕ್ತಿಯನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತದೆ. ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರವು ಸಾಮಾನ್ಯ ಅಂಶಗಳೊಂದಿಗೆ ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಮತ್ತು ನಂತರ ಅದನ್ನು ಇತರ ಟೆಂಪ್ಲೇಟ್ಗಳಲ್ಲಿ ವಿಸ್ತರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಇದು ಕೋಡ್ ಮರುಬಳಕೆಯನ್ನು ಉತ್ತೇಜಿಸುತ್ತದೆ ಮತ್ತು ನಿರ್ವಹಣೆಯನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ. ಈ ಲೇಖನವು ಜಿಂಜಾ2 ನೊಂದಿಗೆ ಫ್ಲಾಸ್ಕ್ ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರದ ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ, ಅದರ ತತ್ವಗಳು, ಅನುಷ್ಠಾನ ಮತ್ತು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.
ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರ ಎಂದರೇನು?
ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರವು ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ನ ಮೂಲ ರಚನೆ ಮತ್ತು ವಿನ್ಯಾಸವನ್ನು ಒಳಗೊಂಡಿರುವ ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ರಚಿಸಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುವ ವಿನ್ಯಾಸದ ಮಾದರಿಯಾಗಿದೆ. ನಂತರ ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ಗಳು ಈ ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಪಡೆದುಕೊಳ್ಳಬಹುದು ಮತ್ತು ತಮ್ಮ ವಿಷಯವನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಲು ನಿರ್ದಿಷ್ಟ ವಿಭಾಗಗಳು ಅಥವಾ 'ಬ್ಲಾಕ್ಗಳನ್ನು' ಓವರ್ರೈಡ್ ಮಾಡಬಹುದು. ಈ ವಿಧಾನವು ಕೋಡ್ ನಕಲು ಮಾಡುವುದನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ, ಸ್ಥಿರತೆಯನ್ನು ಖಾತ್ರಿಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ನಾದ್ಯಂತ ನವೀಕರಣಗಳನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ.
ಅದನ್ನು ಮನೆಗೆ ಒಂದು ನೀಲನಕ್ಷೆಯಂತೆ ಯೋಚಿಸಿ. ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಒಟ್ಟಾರೆ ವಿನ್ಯಾಸವಾಗಿದೆ, ಇದರಲ್ಲಿ ಅಡಿಪಾಯ, ಗೋಡೆಗಳು ಮತ್ತು ಛಾವಣಿ ಸೇರಿವೆ. ಪ್ರತಿಯೊಂದು ವೈಯಕ್ತಿಕ ಕೊಠಡಿ (ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್) ಮೂಲ ರಚನೆಯನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತದೆ ಆದರೆ ವಿಭಿನ್ನ ಫ್ಲೋರಿಂಗ್, ಪೇಂಟ್ ಮತ್ತು ಪೀಠೋಪಕರಣಗಳೊಂದಿಗೆ ಕಸ್ಟಮೈಸ್ ಮಾಡಬಹುದು.
ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರದ ಪ್ರಯೋಜನಗಳು
- ಕೋಡ್ ಮರುಬಳಕೆ: ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ನಲ್ಲಿ ಸಾಮಾನ್ಯ ಅಂಶಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ಮೂಲಕ ಮತ್ತು ಅವುಗಳನ್ನು ಬಹು ಪುಟಗಳಲ್ಲಿ ಮರುಬಳಕೆ ಮಾಡುವ ಮೂಲಕ ಅನಗತ್ಯ ಕೋಡ್ ಅನ್ನು ತಪ್ಪಿಸಿ.
- ಸ್ಥಿರತೆ: ಹೆಡರ್ಗಳು, ಫೂಟರ್ಗಳು ಮತ್ತು ನ್ಯಾವಿಗೇಷನ್ ಮೆನುಗಳಂತಹ ಹಂಚಿಕೆಯ ಅಂಶಗಳಿಗಾಗಿ ಒಂದೇ ಮೂಲವನ್ನು ನಿರ್ವಹಿಸುವ ಮೂಲಕ ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ನಾದ್ಯಂತ ಸ್ಥಿರವಾದ ನೋಟವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
- ನಿರ್ವಹಣೆ: ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡುವ ಮೂಲಕ ನವೀಕರಣಗಳು ಮತ್ತು ಮಾರ್ಪಾಡುಗಳನ್ನು ಸರಳಗೊಳಿಸಿ, ಅದು ಎಲ್ಲಾ ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ಗಳಿಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹರಡುತ್ತದೆ.
- ಸಂಘಟನೆ: ನಿಮ್ಮ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ತಾರ್ಕಿಕ ಮತ್ತು ಶ್ರೇಣೀಕೃತ ರೀತಿಯಲ್ಲಿ ರಚಿಸಿ, ನಿಮ್ಮ ಕೋಡ್ಬೇಸ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು ಸುಲಭವಾಗುತ್ತದೆ.
- ಕಡಿಮೆ ಅಭಿವೃದ್ಧಿ ಸಮಯ: ಹೊಸ ಪುಟಗಳಿಗೆ ಮೊದಲಿನಿಂದ ನಿರ್ಮಿಸುವ ಬದಲು ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಪ್ರಾರಂಭದ ಹಂತವಾಗಿ ಬಳಸಿಕೊಳ್ಳುವ ಮೂಲಕ ಸಮಯ ಮತ್ತು ಶ್ರಮವನ್ನು ಉಳಿಸಿ.
ಪ್ರಮುಖ ಪರಿಕಲ್ಪನೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು
1. ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್
ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ನಿಮ್ಮ ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರದ ರಚನೆಯ ಅಡಿಪಾಯವಾಗಿದೆ. ಇದು ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ನ ಎಲ್ಲಾ ಅಥವಾ ಹೆಚ್ಚಿನ ಪುಟಗಳಲ್ಲಿ ಹಂಚಿಕೊಳ್ಳಲಾಗುವ ಸಾಮಾನ್ಯ ಅಂಶಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಇದು ಸಾಮಾನ್ಯವಾಗಿ HTML ರಚನೆ, CSS ಶೈಲಿಯ ಹಾಳೆಗಳು, ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳು, ಹೆಡರ್, ಫೂಟರ್ ಮತ್ತು ನ್ಯಾವಿಗೇಷನ್ ಮೆನುವನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.
ಮೂಲ ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ನ ಉದಾಹರಣೆ (base.html
):
{% block title %}ನನ್ನ ವೆಬ್ಸೈಟ್{% endblock %}
ನನ್ನ ವೆಬ್ಸೈಟ್
{% block content %}{% endblock %}
ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು ಹೆಡರ್, ನ್ಯಾವಿಗೇಷನ್ ಮೆನು, ಮುಖ್ಯ ವಿಷಯ ಪ್ರದೇಶ ಮತ್ತು ಫೂಟರ್ನೊಂದಿಗೆ ಮೂಲ HTML ರಚನೆಯನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತೇವೆ. {% block %}
ಟ್ಯಾಗ್ಗಳನ್ನು ಗಮನಿಸಿ, ಇದು ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ಗಳಲ್ಲಿ ಓವರ್ರೈಡ್ ಮಾಡಬಹುದಾದ ವಿಭಾಗಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ.
2. ಬ್ಲಾಕ್ ವ್ಯಾಖ್ಯಾನಗಳು
ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ನಲ್ಲಿ ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ಗಳಿಂದ ಬದಲಾಯಿಸಬಹುದಾದ ಅಥವಾ ಮಾರ್ಪಡಿಸಬಹುದಾದ ಪ್ಲೇಸ್ಹೋಲ್ಡರ್ಗಳು ಬ್ಲಾಕ್ಗಳಾಗಿವೆ. ಅವುಗಳನ್ನು {% block %}
ಮತ್ತು {% endblock %}
ಟ್ಯಾಗ್ಗಳನ್ನು ಬಳಸಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ. ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ನ ವಿವಿಧ ಭಾಗಗಳಿಗೆ ನಿರ್ದಿಷ್ಟ ವಿಷಯವನ್ನು ಸೇರಿಸಲು ಬ್ಲಾಕ್ಗಳು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತವೆ.
ಮೇಲಿನ base.html
ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು ಎರಡು ಬ್ಲಾಕ್ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿದ್ದೇವೆ:
title
: ಈ ಬ್ಲಾಕ್ HTML ಡಾಕ್ಯುಮೆಂಟ್ನ ಶೀರ್ಷಿಕೆಯನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ.content
: ಈ ಬ್ಲಾಕ್ ಪುಟದ ಮುಖ್ಯ ವಿಷಯ ಪ್ರದೇಶವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ.
3. ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ಗಳು
ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ಗಳು ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತವೆ ಮತ್ತು ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಬ್ಲಾಕ್ಗಳನ್ನು ಓವರ್ರೈಡ್ ಮಾಡಬಹುದು. ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಪಡೆದುಕೊಳ್ಳಲು, ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ನ ಆರಂಭದಲ್ಲಿ {% extends %}
ಟ್ಯಾಗ್ ಅನ್ನು ಬಳಸಿ.
ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ನ ಉದಾಹರಣೆ (index.html
) base.html
ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ವಿಸ್ತರಿಸುವುದು:
{% extends 'base.html' %}
{% block title %}ಮುಖಪುಟ - ನನ್ನ ವೆಬ್ಸೈಟ್{% endblock %}
{% block content %}
ಮುಖಪುಟಕ್ಕೆ ಸ್ವಾಗತ!
ಇದು ಮುಖಪುಟದ ವಿಷಯವಾಗಿದೆ.
{% endblock %}
ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು base.html
ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ವಿಸ್ತರಿಸುತ್ತೇವೆ ಮತ್ತು title
ಮತ್ತು content
ಬ್ಲಾಕ್ಗಳನ್ನು ಓವರ್ರೈಡ್ ಮಾಡುತ್ತೇವೆ. title
ಬ್ಲಾಕ್ ಅನ್ನು "ಮುಖಪುಟ - ನನ್ನ ವೆಬ್ಸೈಟ್" ಎಂದು ಹೊಂದಿಸಲಾಗಿದೆ ಮತ್ತು content
ಬ್ಲಾಕ್ ಅನ್ನು ಮುಖಪುಟಕ್ಕೆ ನಿರ್ದಿಷ್ಟವಾದ ವಿಷಯದೊಂದಿಗೆ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ.
4. `super()` ಕಾರ್ಯ
ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ನಿಂದ ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಬ್ಲಾಕ್ನ ವಿಷಯವನ್ನು ಪ್ರವೇಶಿಸಲು super()
ಕಾರ್ಯವು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಬ್ಲಾಕ್ನ ವಿಷಯವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬದಲಾಯಿಸದೆ ಸೇರಿಸಲು ಅಥವಾ ಮಾರ್ಪಡಿಸಲು ನೀವು ಬಯಸಿದಾಗ ಇದು ಉಪಯುಕ್ತವಾಗಿದೆ.
content
ಬ್ಲಾಕ್ಗೆ ವಿಷಯವನ್ನು ಸೇರಿಸಲು super()
ಅನ್ನು ಬಳಸುವ ಉದಾಹರಣೆ:
{% extends 'base.html' %}
{% block content %}
{{ super() }}
ಇದು ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ನ ವಿಷಯ ಬ್ಲಾಕ್ಗೆ ಸೇರಿಸಲಾದ ಹೆಚ್ಚುವರಿ ವಿಷಯವಾಗಿದೆ.
{% endblock %}
ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, super()
ಕಾರ್ಯವು base.html
ಟೆಂಪ್ಲೇಟ್ನಿಂದ content
ಬ್ಲಾಕ್ನ ಮೂಲ ವಿಷಯವನ್ನು ಸೇರಿಸುತ್ತದೆ ಮತ್ತು ನಂತರ ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ ಅದರ ಸ್ವಂತ ವಿಷಯವನ್ನು ಅದರ ಕೆಳಗೆ ಸೇರಿಸುತ್ತದೆ.
ಫ್ಲಾಸ್ಕ್ನಲ್ಲಿ ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದು
ಫ್ಲಾಸ್ಕ್ನಲ್ಲಿ ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರವನ್ನು ಬಳಸಲು, ನಿಮ್ಮ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ತಾರ್ಕಿಕ ಡೈರೆಕ್ಟರಿ ರಚನೆಯಲ್ಲಿ ಆಯೋಜಿಸಬೇಕು ಮತ್ತು ನಿಮ್ಮ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಫ್ಲಾಸ್ಕ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕು.
1. ಡೈರೆಕ್ಟರಿ ರಚನೆ
ಫ್ಲಾಸ್ಕ್ ಟೆಂಪ್ಲೇಟ್ಗಳಿಗಾಗಿ ಸಾಮಾನ್ಯ ಡೈರೆಕ್ಟರಿ ರಚನೆಯು ಈ ಕೆಳಗಿನಂತಿದೆ:
my_project/
app.py
templates/
base.html
index.html
about.html
contact.html
static/
style.css
script.js
ಈ ರಚನೆಯಲ್ಲಿ, templates
ಡೈರೆಕ್ಟರಿಯು ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಮತ್ತು ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಎಲ್ಲಾ HTML ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. static
ಡೈರೆಕ್ಟರಿಯು CSS ಶೈಲಿಯ ಹಾಳೆಗಳು ಮತ್ತು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳಂತಹ ಸ್ಥಿರ ಫೈಲ್ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.
2. ಫ್ಲಾಸ್ಕ್ ಕಾನ್ಫಿಗರೇಶನ್
ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಫ್ಲಾಸ್ಕ್ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನಂತೆಯೇ ಅದೇ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ templates
ಎಂಬ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ಹುಡುಕುತ್ತದೆ. ಫ್ಲಾಸ್ಕ್ ಅಪ್ಲಿಕೇಶನ್ ವಸ್ತುವಿನ template_folder
ಗುಣಲಕ್ಷಣವನ್ನು ಹೊಂದಿಸುವ ಮೂಲಕ ನೀವು ಇದನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಬಹುದು.
ಕಸ್ಟಮ್ ಟೆಂಪ್ಲೇಟ್ ಫೋಲ್ಡರ್ ಅನ್ನು ಬಳಸಲು ಫ್ಲಾಸ್ಕ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವ ಉದಾಹರಣೆ:
from flask import Flask, render_template
app = Flask(__name__, template_folder='my_templates')
@app.route('/')
def index():
return render_template('index.html')
3. ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ರೆಂಡರ್ ಮಾಡುವುದು
ಫ್ಲಾಸ್ಕ್ನಲ್ಲಿ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ರೆಂಡರ್ ಮಾಡಲು, render_template()
ಕಾರ್ಯವನ್ನು ಬಳಸಿ. ಈ ಕಾರ್ಯವು ಟೆಂಪ್ಲೇಟ್ ಫೈಲ್ನ ಹೆಸರನ್ನು ಆರ್ಗ್ಯುಮೆಂಟ್ ಆಗಿ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ರೆಂಡರ್ ಮಾಡಿದ HTML ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.
index.html
ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ರೆಂಡರ್ ಮಾಡುವ ಉದಾಹರಣೆ:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ರೆಂಡರ್ ಮಾಡುವಾಗ, ಫ್ಲಾಸ್ಕ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ ಮತ್ತು ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಬ್ಲಾಕ್ ಓವರ್ರೈಡ್ಗಳನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ.
ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳು
ಉದಾಹರಣೆ 1: ಒಂದು ಸರಳ ಬ್ಲಾಗ್
ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಮತ್ತು ಬ್ಲಾಗ್ ಪೋಸ್ಟ್ಗಳಿಗಾಗಿ ವೈಯಕ್ತಿಕ ಟೆಂಪ್ಲೇಟ್ಗಳೊಂದಿಗೆ ಸರಳ ಬ್ಲಾಗ್ ಅನ್ನು ರಚಿಸೋಣ.
base.html:
{% block title %}ನನ್ನ ಬ್ಲಾಗ್{% endblock %}
ನನ್ನ ಬ್ಲಾಗ್
{% block content %}{% endblock %}
post.html:
{% extends 'base.html' %}
{% block title %}{{ post.title }} - ನನ್ನ ಬ್ಲಾಗ್{% endblock %}
{% block content %}
{{ post.title }}
ಪ್ರಕಟಿತ ದಿನಾಂಕ: {{ post.date }}
{{ post.content }}
{% endblock %}
ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, post.html
ಟೆಂಪ್ಲೇಟ್ base.html
ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ ಮತ್ತು ಬ್ಲಾಗ್ ಪೋಸ್ಟ್ನ ಶೀರ್ಷಿಕೆ, ದಿನಾಂಕ ಮತ್ತು ವಿಷಯದೊಂದಿಗೆ title
ಮತ್ತು content
ಬ್ಲಾಕ್ಗಳನ್ನು ಓವರ್ರೈಡ್ ಮಾಡುತ್ತದೆ. post
ವೇರಿಯೇಬಲ್ ಅನ್ನು ಫ್ಲಾಸ್ಕ್ ಮಾರ್ಗದಿಂದ ಟೆಂಪ್ಲೇಟ್ಗೆ ರವಾನಿಸಲಾಗುತ್ತದೆ.
app.py:
from flask import Flask, render_template
app = Flask(__name__)
posts = [
{
'title': 'ಮೊದಲ ಬ್ಲಾಗ್ ಪೋಸ್ಟ್',
'date': '2023-10-27',
'content': 'ಇದು ಮೊದಲ ಬ್ಲಾಗ್ ಪೋಸ್ಟ್ನ ವಿಷಯವಾಗಿದೆ.'
},
{
'title': 'ಎರಡನೇ ಬ್ಲಾಗ್ ಪೋಸ್ಟ್',
'date': '2023-10-28',
'content': 'ಇದು ಎರಡನೇ ಬ್ಲಾಗ್ ಪೋಸ್ಟ್ನ ವಿಷಯವಾಗಿದೆ.'
}
]
@app.route('/')
def index():
return render_template('index.html', posts=posts)
@app.route('/post/')
def post(post_id):
post = posts[post_id]
return render_template('post.html', post=post)
ಉದಾಹರಣೆ 2: ಬಹು ಭಾಷಾ ವೆಬ್ಸೈಟ್
ಬಹು ಭಾಷೆಗಳನ್ನು ಬೆಂಬಲಿಸುವ ವೆಬ್ಸೈಟ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ. ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರವು ಪ್ರತಿ ಪುಟದಲ್ಲಿನ ವಿಭಿನ್ನ ಪಠ್ಯ ಅಂಶಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ನೀವು ಅನುವಾದಿತ ಪಠ್ಯಕ್ಕಾಗಿ ಪ್ಲೇಸ್ಹೋಲ್ಡರ್ಗಳೊಂದಿಗೆ ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ರಚಿಸಬಹುದು ಮತ್ತು ನಂತರ ಪ್ರತಿ ಭಾಷೆಗೆ ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ರಚಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ನಿಮ್ಮಲ್ಲಿ ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಇದೆ ಮತ್ತು ಇಂಗ್ಲಿಷ್ ಮತ್ತು ಫ್ರೆಂಚ್ ಅನ್ನು ಬೆಂಬಲಿಸಲು ಬಯಸುತ್ತೀರಿ ಎಂದು ಹೇಳೋಣ.
base.html:
{% block title %}{% endblock %}
{% block content %}{% endblock %}
index_en.html (ಇಂಗ್ಲಿಷ್ ಆವೃತ್ತಿ):
{% extends "base.html" %}
{% block title %}ನನ್ನ ವೆಬ್ಸೈಟ್ಗೆ ಸ್ವಾಗತ{% endblock %}
{% block home_link %}ಮುಖಪುಟ{% endblock %}
{% block about_link %}ಬಗ್ಗೆ{% endblock %}
{% block content %}
ಸ್ವಾಗತ!
ಇದು ಮುಖಪುಟದ ಇಂಗ್ಲಿಷ್ ಆವೃತ್ತಿಯಾಗಿದೆ.
{% endblock %}
index_fr.html (ಫ್ರೆಂಚ್ ಆವೃತ್ತಿ):
{% extends "base.html" %}
{% block title %}Bienvenue sur mon site web{% endblock %}
{% block home_link %}Accueil{% endblock %}
{% block about_link %}À propos{% endblock %}
{% block content %}
Bienvenue !
Ceci est la version française de la page d'accueil.
{% endblock %}
ಈ ಸರಳೀಕೃತ ಉದಾಹರಣೆಯಲ್ಲಿ, ಪ್ರತಿ ಭಾಷಾ ಆವೃತ್ತಿಯು ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ ಮತ್ತು ಶೀರ್ಷಿಕೆ, ನ್ಯಾವಿಗೇಷನ್ ಲಿಂಕ್ಗಳು ಮತ್ತು ಮುಖ್ಯ ವಿಷಯಕ್ಕಾಗಿ ಅನುವಾದಿತ ಪಠ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಈ ವಿಧಾನವು ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ನ ವಿಭಿನ್ನ ಭಾಷಾ ಆವೃತ್ತಿಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸುಲಭವಾಗಿಸುತ್ತದೆ.
ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು
- ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಸರಳವಾಗಿಡಿ: ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ ಎಲ್ಲಾ ಪುಟಗಳಲ್ಲಿ ಹಂಚಿಕೆಯಾದ ಅಗತ್ಯ ಅಂಶಗಳನ್ನು ಮಾತ್ರ ಹೊಂದಿರಬೇಕು.
- ವಿವರಣಾತ್ಮಕ ಬ್ಲಾಕ್ ಹೆಸರುಗಳನ್ನು ಬಳಸಿ: ಅವುಗಳ ಉದ್ದೇಶವನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಸೂಚಿಸುವ ಬ್ಲಾಕ್ ಹೆಸರುಗಳನ್ನು ಆರಿಸಿ.
- ನಿಮ್ಮ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ತಾರ್ಕಿಕವಾಗಿ ಆಯೋಜಿಸಿ: ಸಂಬಂಧಿತ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿ ಒಟ್ಟಿಗೆ ಗುಂಪು ಮಾಡಿ.
- ಆಳವಾಗಿ ನೆಸ್ಟೆಡ್ ಉತ್ತರಾಧಿಕಾರವನ್ನು ತಪ್ಪಿಸಿ: ಸಂಕೀರ್ಣತೆಯನ್ನು ತಪ್ಪಿಸಲು ನಿಮ್ಮ ಉತ್ತರಾಧಿಕಾರದ ಶ್ರೇಣಿಯ ಆಳವನ್ನು ಮಿತಿಗೊಳಿಸಿ.
- `super()` ಕಾರ್ಯವನ್ನು ವಿವೇಚನೆಯಿಂದ ಬಳಸಿ: ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ನಿಂದ ಬ್ಲಾಕ್ನ ವಿಷಯವನ್ನು ಸೇರಿಸಲು ಅಥವಾ ಮಾರ್ಪಡಿಸಲು ನೀವು ಬಯಸಿದಾಗ ಮಾತ್ರ
super()
ಕಾರ್ಯವನ್ನು ಬಳಸಿ. - ಟೆಂಪ್ಲೇಟ್ ಘಟಕಗಳನ್ನು ಬಳಸುವುದನ್ನು ಪರಿಗಣಿಸಿ: ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ ವೆಬ್ಸೈಟ್ಗಳಿಗಾಗಿ, ನಿಮ್ಮ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ಚಿಕ್ಕದಾದ, ಮರುಬಳಕೆ ಮಾಡಬಹುದಾದ ಘಟಕಗಳಾಗಿ ವಿಭಜಿಸುವುದನ್ನು ಪರಿಗಣಿಸಿ. ಇದನ್ನು ಜಿಂಜಾ2 ರಲ್ಲಿ ಒಳಗೊಳ್ಳುವಿಕೆಗಳು ಅಥವಾ ಮ್ಯಾಕ್ರೋಗಳ ಮೂಲಕ ಸಾಧಿಸಬಹುದು, ಆದರೆ ಇವುಗಳು ಉತ್ತಮ ಉತ್ತರಾಧಿಕಾರದ ತಂತ್ರವನ್ನು ಪೂರಕವಾಗಿರಬೇಕು, ಬದಲಿಸಬಾರದು.
ಸುಧಾರಿತ ತಂತ್ರಗಳು
1. ಷರತ್ತುಬದ್ಧ ಬ್ಲಾಕ್ ಓವರ್ರೈಡಿಂಗ್
ನಿರ್ದಿಷ್ಟ ಷರತ್ತುಗಳ ಆಧಾರದ ಮೇಲೆ ಬ್ಲಾಕ್ಗಳನ್ನು ಷರತ್ತುಬದ್ಧವಾಗಿ ಓವರ್ರೈಡ್ ಮಾಡಲು ನಿಮ್ಮ ಟೆಂಪ್ಲೇಟ್ಗಳಲ್ಲಿ ನೀವು ಷರತ್ತುಬದ್ಧ ಹೇಳಿಕೆಗಳನ್ನು ಬಳಸಬಹುದು. ಇದು ಬಳಕೆದಾರರ ಪಾತ್ರಗಳು, ಆದ್ಯತೆಗಳು ಅಥವಾ ಇತರ ಅಂಶಗಳ ಆಧಾರದ ಮೇಲೆ ನಿಮ್ಮ ಪುಟಗಳ ವಿಷಯವನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
{% extends 'base.html' %}
{% block content %}
{% if user.is_authenticated %}
ಸ್ವಾಗತ, {{ user.username }}!
ಇದು ದೃಢೀಕರಿಸಿದ ಬಳಕೆದಾರರಿಗಾಗಿ ವಿಷಯವಾಗಿದೆ.
{% else %}
ಸ್ವಾಗತ!
ಹೆಚ್ಚಿನ ವಿಷಯವನ್ನು ಪ್ರವೇಶಿಸಲು ದಯವಿಟ್ಟು ಲಾಗ್ ಇನ್ ಮಾಡಿ.
{% endif %}
{% endblock %}
2. ಮ್ಯಾಕ್ರೋಗಳನ್ನು ಬಳಸುವುದು
ಜಿಂಜಾ2 ಮ್ಯಾಕ್ರೋಗಳು ಪೈಥಾನ್ನಲ್ಲಿನ ಕಾರ್ಯಗಳಿಗೆ ಹೋಲುತ್ತವೆ. ನಿಮ್ಮ ಟೆಂಪ್ಲೇಟ್ಗಳಿಂದ ಕರೆಯಬಹುದಾದ HTML ಕೋಡ್ನ ಮರುಬಳಕೆ ಮಾಡಬಹುದಾದ ತುಣುಕುಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಅವು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತವೆ. ಫಾರ್ಮ್ ಅಂಶಗಳು, ನ್ಯಾವಿಗೇಷನ್ ಮೆನುಗಳು ಮತ್ತು ಚಿತ್ರ ಗ್ಯಾಲರಿಗಳಂತಹ ಟೆಂಪ್ಲೇಟ್ ಘಟಕಗಳನ್ನು ರಚಿಸಲು ಮ್ಯಾಕ್ರೋಗಳನ್ನು ಬಳಸಬಹುದು.
ಪ್ರತ್ಯೇಕ ಫೈಲ್ನಲ್ಲಿ ಮ್ಯಾಕ್ರೋವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ಉದಾಹರಣೆ (macros.html
):
{% macro input(name, type='text', value='') %}
{% endmacro %}
ಟೆಂಪ್ಲೇಟ್ನಲ್ಲಿ ಮ್ಯಾಕ್ರೋವನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುವ ಮತ್ತು ಬಳಸುವ ಉದಾಹರಣೆ:
{% from 'macros.html' import input %}
3. ಟೆಂಪ್ಲೇಟ್ ಫಿಲ್ಟರ್ಗಳು
ನಿಮ್ಮ ಟೆಂಪ್ಲೇಟ್ಗಳಲ್ಲಿನ ವೇರಿಯೇಬಲ್ಗಳ ಔಟ್ಪುಟ್ ಅನ್ನು ಮಾರ್ಪಡಿಸಲು ಟೆಂಪ್ಲೇಟ್ ಫಿಲ್ಟರ್ಗಳು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತವೆ. ಜಿಂಜಾ2 capitalize
, lower
, upper
ಮತ್ತು date
ನಂತಹ ಹಲವಾರು ಅಂತರ್ನಿರ್ಮಿತ ಫಿಲ್ಟರ್ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ನಿಮ್ಮ ಸ್ವಂತ ಕಸ್ಟಮ್ ಫಿಲ್ಟರ್ಗಳನ್ನು ಸಹ ನೀವು ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು.
ದಿನಾಂಕವನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲು date
ಫಿಲ್ಟರ್ ಅನ್ನು ಬಳಸುವ ಉದಾಹರಣೆ:
ಪ್ರಕಟಿತ ದಿನಾಂಕ: {{ post.date | date('%Y-%m-%d') }}
ತೀರ್ಮಾನ
ಜಿಂಜಾ2 ನೊಂದಿಗೆ ಫ್ಲಾಸ್ಕ್ ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರವು ನಿಮ್ಮ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ಆಯೋಜಿಸಲು, ಕೋಡ್ ಮರುಬಳಕೆಯನ್ನು ಉತ್ತೇಜಿಸಲು ಮತ್ತು ನಿಮ್ಮ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ನಾದ್ಯಂತ ಸ್ಥಿರತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಪ್ರಬಲವಾದ ತಂತ್ರವಾಗಿದೆ. ಬೇಸ್ ಟೆಂಪ್ಲೇಟ್ಗಳು, ಬ್ಲಾಕ್ ವ್ಯಾಖ್ಯಾನಗಳು ಮತ್ತು ಚೈಲ್ಡ್ ಟೆಂಪ್ಲೇಟ್ಗಳ ಪ್ರಮುಖ ಪರಿಕಲ್ಪನೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಮೂಲಕ, ನಿಮ್ಮ ವೆಬ್ ಅಭಿವೃದ್ಧಿ ಕಾರ್ಯವಿಧಾನವನ್ನು ಸರಳಗೊಳಿಸುವ ಉತ್ತಮವಾಗಿ ರಚನಾತ್ಮಕ ಮತ್ತು ನಿರ್ವಹಿಸಬಹುದಾದ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ನೀವು ರಚಿಸಬಹುದು. DRY (ನಿಮ್ಮನ್ನು ಪುನರಾವರ್ತಿಸಬೇಡಿ) ತತ್ವವನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳಿ ಮತ್ತು ಬಲವಾದ ಮತ್ತು ಸ್ಕೇಲೆಬಲ್ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರವನ್ನು ಬಳಸಿಕೊಳ್ಳಿ.
ಈ ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿಯು ಫ್ಲಾಸ್ಕ್ ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರದ ಮೂಲಭೂತ ಅಂಶಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಈ ಲೇಖನದಲ್ಲಿ ವಿವರಿಸಿರುವ ಉದಾಹರಣೆಗಳು ಮತ್ತು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಅನುಸರಿಸುವ ಮೂಲಕ, ನಿಮ್ಮ ಫ್ಲಾಸ್ಕ್ ಯೋಜನೆಗಳಲ್ಲಿ ನೀವು ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರವನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು ಮತ್ತು ಜಾಗತಿಕ ಪ್ರೇಕ್ಷಕರಿಗಾಗಿ ಉತ್ತಮವಾಗಿ ಸಂಘಟಿತ, ನಿರ್ವಹಿಸಬಹುದಾದ ಮತ್ತು ಸ್ಥಿರವಾದ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ರಚಿಸಬಹುದು. ನಿಮ್ಮ ಯೋಜನೆಗಳ ನಿರ್ದಿಷ್ಟ ಅಗತ್ಯಗಳಿಗೆ ಅನುಗುಣವಾಗಿ ಈ ತಂತ್ರಗಳನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳಲು ಮರೆಯದಿರಿ ಮತ್ತು ನಿಮ್ಮ ಟೆಂಪ್ಲೇಟ್ ವಿನ್ಯಾಸ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಮತ್ತಷ್ಟು ಹೆಚ್ಚಿಸಲು ಜಿಂಜಾ2 ನ ಸುಧಾರಿತ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಅನ್ವೇಷಿಸಿ.