Maison > Article > développement back-end > Comment utiliser Python pour développer la fonction de gestion de modèles du système CMS
Comment utiliser Python pour développer la fonction de gestion de modèles d'un système CMS
Avec le développement rapide d'Internet, les systèmes de gestion de contenu (CMS) attirent de plus en plus d'attention. Le système CMS peut aider les utilisateurs à gérer facilement le contenu du site Web et offre également aux développeurs un moyen de se développer rapidement. Cet article expliquera comment utiliser Python pour développer la fonction de gestion de modèles du système CMS afin d'obtenir une gestion et un affichage flexibles du contenu du site Web.
Supposons que nous souhaitions créer un modèle avec une barre de navigation, une barre latérale et une zone de contenu, nous pouvons créer un fichier appelé base.html dans le dossier du modèle et écrire le code suivant dans le fichier :
<!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
Dans le modèle, nous définissons une classe appelée Template, qui comporte deux champs : nom et fichier. Le champ nom est utilisé pour stocker le nom du modèle et le champ fichier est utilisé pour stocker le chemin du fichier modèle. En remplaçant la méthode __str__, nous pouvons afficher le nom du modèle dans l'interface de gestion en arrière-plan.
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'), ]
Dans le code, nous définissons quatre adresses URL et les associons aux fonctions d'affichage correspondantes. Parmi eux, TemplateListView est utilisé pour afficher la liste des modèles, TemplateCreateView est utilisé pour créer des modèles, TemplateUpdateView est utilisé pour mettre à jour les modèles et TemplateDeleteView est utilisé pour supprimer des modèles.
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/'
Dans le code, nous utilisons les vues de classe de Django, ce qui peut simplifier l'écriture des fonctions de vue. Pour TemplateListView, nous avons spécifié le modèle comme Template et défini le nom du modèle sur template_list.html. Pour TemplateCreateView, TemplateUpdateView et TemplateDeleteView, nous avons spécifié respectivement le modèle, le nom du modèle et les champs correspondants.
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>
À ce stade, nous avons terminé le développement de la fonction de gestion de modèles du système CMS en utilisant Python. Grâce aux étapes ci-dessus, nous pouvons facilement créer, mettre à jour et supprimer des modèles, et afficher le contenu du modèle sur la page frontale.
Résumé
Cet article explique comment utiliser Python pour développer la fonction de gestion de modèles du système CMS afin d'obtenir une gestion et un affichage flexibles du contenu du site Web. En créant des modèles, en configurant le routage, en créant des vues et des pages de modèles dans Django, nous pouvons facilement créer, mettre à jour et supprimer des modèles. Grâce aux étapes ci-dessus, nous pouvons mieux gérer le contenu du site Web, améliorer l'expérience utilisateur et également fournir aux développeurs un moyen de se développer rapidement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!