Cara menggunakan Python untuk membangunkan fungsi pengurusan templat sistem CMS
Dengan perkembangan pesat Internet, sistem pengurusan kandungan (CMS) telah menarik lebih banyak perhatian. Sistem CMS boleh membantu pengguna mengurus kandungan tapak web dengan mudah, dan juga menyediakan pembangun cara untuk membangun dengan cepat. Artikel ini akan memperkenalkan cara menggunakan Python untuk membangunkan fungsi pengurusan templat sistem CMS untuk mencapai pengurusan fleksibel dan paparan kandungan tapak web.
Andaikan kita ingin mencipta templat dengan bar navigasi, bar sisi dan kawasan kandungan, kita boleh mencipta fail bernama base.html dalam folder templat dan tulis kod berikut dalam fail:
<!DOCTYPE html> <html> <head> <title>{% block title %}{% endblock %}</title> </head> <body> <header> <!-- 导航栏 --> <nav> <ul> <li><a href="#">首页</a></li> <li><a href="#">关于我们</a></li> <li><a href="#">联系我们</a></li> </ul> </nav> </header> <aside> <!-- 侧边栏 --> <ul> <li><a href="#">最新文章</a></li> <li><a href="#">热门文章</a></li> <li><a href="#">推荐文章</a></li> </ul> </aside> <main> <!-- 内容区域 --> {% block content %} {% endblock %} </main> <footer> <!-- 底部信息 --> <p>版权所有 © 2022</p> </footer> </body> </html>
from django.db import models class Template(models.Model): name = models.CharField(max_length=100) file = models.FileField(upload_to='templates/') def __str__(self): return self.name
Dalam model, kami mentakrifkan kelas yang dipanggil Templat, yang mempunyai dua medan: nama dan fail. Medan nama digunakan untuk menyimpan nama templat, dan medan fail digunakan untuk menyimpan laluan fail templat. Dengan mengatasi kaedah __str__, kami boleh memaparkan nama templat dalam antara muka pengurusan latar belakang.
from django.urls import path from .views import TemplateListView, TemplateCreateView, TemplateUpdateView, TemplateDeleteView urlpatterns = [ path('templates/', TemplateListView.as_view(), name='template_list'), path('templates/create/', TemplateCreateView.as_view(), name='template_create'), path('templates/update/<int:pk>/', TemplateUpdateView.as_view(), name='template_update'), path('templates/delete/<int:pk>/', TemplateDeleteView.as_view(), name='template_delete'), ]
Dalam kod, kami mentakrifkan empat alamat URL dan mengaitkannya dengan fungsi paparan yang sepadan. Antaranya, TemplateListView digunakan untuk memaparkan senarai templat, TemplateCreateView digunakan untuk membuat templat, TemplateUpdateView digunakan untuk mengemas kini templat, dan TemplateDeleteView digunakan untuk memadam templat.
from django.views.generic import ListView, CreateView, UpdateView, DeleteView from .models import Template class TemplateListView(ListView): model = Template template_name = 'template_list.html' class TemplateCreateView(CreateView): model = Template template_name = 'template_create.html' fields = '__all__' class TemplateUpdateView(UpdateView): model = Template template_name = 'template_update.html' fields = '__all__' class TemplateDeleteView(DeleteView): model = Template template_name = 'template_delete.html' success_url = '/templates/'
Dalam kod, kami menggunakan paparan kelas Django, yang boleh memudahkan penulisan fungsi pandangan. Untuk TemplateListView, kami menetapkan model sebagai Templat dan menetapkan nama templat kepada template_list.html. Untuk TemplateCreateView, TemplateUpdateView dan TemplateDeleteView, kami menetapkan model yang sepadan, nama templat dan medan masing-masing.
template_list.html:
<!DOCTYPE html> <html> <head> <title>模板列表</title> </head> <body> <h1>模板列表</h1> <table> <tr> <th>ID</th> <th>名称</th> <th>文件</th> <th>操作</th> </tr> {% for template in object_list %} <tr> <td>{{ template.id }}</td> <td>{{ template.name }}</td> <td>{{ template.file }}</td> <td> <a href="{% url 'template_update' template.id %}">编辑</a> <a href="{% url 'template_delete' template.id %}">删除</a> </td> </tr> {% endfor %} </table> <a href="{% url 'template_create' %}">创建模板</a> </body> </html>
template_create.html:
<!DOCTYPE html> <html> <head> <title>创建模板</title> </head> <body> <h1>创建模板</h1> <form method="post"> {% csrf_token %} <input type="text" name="name" placeholder="名称"><br> <input type="file" name="file"><br> <input type="submit" value="提交"> </form> </body> </html>
template_update.html:
<!DOCTYPE html> <html> <head> <title>更新模板</title> </head> <body> <h1>更新模板</h1> <form method="post"> {% csrf_token %} <input type="text" name="name" value="{{ object.name }}"><br> <input type="file" name="file" value="{{ object.file }}"><br> <input type="submit" value="提交"> </form> </body> </html>
template_delete.html:
<!DOCTYPE html> <html> <head> <title>删除模板</title> </head> <body> <h1>删除模板</h1> <p>确定要删除模板 "{{ object.name }}" 吗?</p> <form method="post"> {% csrf_token %} <input type="submit" value="确定"> <a href="{% url 'template_list' %}">取消</a> </form> </body> </html>
Pada tahap ini, kami telah melengkapkan pengurusan templat CMS ini Ular sawa. Melalui langkah-langkah di atas, kami boleh membuat, mengemas kini dan memadam templat dengan mudah dan memaparkan kandungan templat di halaman hadapan.
Ringkasan
Artikel ini memperkenalkan cara menggunakan Python untuk membangunkan fungsi pengurusan templat sistem CMS untuk mencapai pengurusan fleksibel dan paparan kandungan tapak web. Dengan mencipta templat, mengkonfigurasi penghalaan, mencipta paparan dan halaman templat dalam Django, kami boleh membuat, mengemas kini dan memadam templat dengan mudah. Melalui langkah-langkah di atas, kami boleh mengurus kandungan tapak web dengan lebih baik, meningkatkan pengalaman pengguna, dan juga menyediakan pembangun cara untuk membangun dengan cepat.
Atas ialah kandungan terperinci Cara menggunakan Python untuk membangunkan fungsi pengurusan templat sistem CMS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!