您的位置:首页 > 文旅 > 美景 > 红鹰微信管理系统_做一个网站app需要多少钱_广州网络推广万企在线_如何创建一个个人网站

红鹰微信管理系统_做一个网站app需要多少钱_广州网络推广万企在线_如何创建一个个人网站

2025/8/25 17:54:02 来源:https://blog.csdn.net/qq_45830942/article/details/147343131  浏览:    关键词:红鹰微信管理系统_做一个网站app需要多少钱_广州网络推广万企在线_如何创建一个个人网站
红鹰微信管理系统_做一个网站app需要多少钱_广州网络推广万企在线_如何创建一个个人网站

django 类视图

from django.urls import reverse_lazy
from django.views.generic import (TemplateView, ListView, DetailView,CreateView, UpdateView, DeleteView
)
from .models import MyModel# 1) 仅渲染模板,不依赖模型
class HomePageView(TemplateView):template_name = "myapp/base.html"# 2) 列表视图
class MyModelListView(ListView):model = MyModeltemplate_name = "myapp/object_list.html"     # 指定模板context_object_name = "object_list"          # 在模板中使用的上下文变量paginate_by = 10                             # 如果需要分页# 3) 详情视图
class MyModelDetailView(DetailView):model = MyModeltemplate_name = "myapp/object_detail.html"context_object_name = "object"# 4) 新建视图
class MyModelCreateView(CreateView):model = MyModelfields = ["title", "content"]               # 自动生成表单字段template_name = "myapp/object_form.html"success_url = reverse_lazy("myapp:list")     # 成功后跳转# 5) 更新视图
class MyModelUpdateView(UpdateView):model = MyModelfields = ["title", "content"]template_name = "myapp/object_form.html"success_url = reverse_lazy("myapp:list")# 6) 删除视图
class MyModelDeleteView(DeleteView):model = MyModeltemplate_name = "myapp/object_confirm_delete.html"success_url = reverse_lazy("myapp:list")

路由配置

from django.urls import path
from .views import (HomePageView, MyModelListView, MyModelDetailView,MyModelCreateView, MyModelUpdateView, MyModelDeleteView
)app_name = "myapp"urlpatterns = [path("", HomePageView.as_view(), name="home"),path("objects/", MyModelListView.as_view(), name="list"),path("objects/add/", MyModelCreateView.as_view(), name="add"),path("objects/<int:pk>/", MyModelDetailView.as_view(), name="detail"),path("objects/<int:pk>/edit/", MyModelUpdateView.as_view(), name="edit"),path("objects/<int:pk>/delete/", MyModelDeleteView.as_view(), name="delete"),
]

base.html

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>{% block title %}MyApp{% endblock %}</title><link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}">
</head>
<body><nav><a href="{% url 'myapp:home' %}">首页</a> |<a href="{% url 'myapp:list' %}">列表</a> |<a href="{% url 'myapp:add' %}">新建</a></nav><hr><div class="container">{% block content %}{% endblock %}</div>
</body>
</html>

列表页(object_list.html)

{% extends "myapp/base.html" %}
{% block title %}对象列表{% endblock %}{% block content %}<h1>对象列表</h1><ul>{% for obj in object_list %}<li><a href="{% url 'myapp:detail' obj.pk %}">{{ obj.title }}</a>&mdash; {{ obj.created_at|date:"Y-m-d H:i" }}</li>{% empty %}<li>暂无数据</li>{% endfor %}</ul>{# 分页导航 #}{% if is_paginated %}<div class="pagination">{% if page_obj.has_previous %}<a href="?page={{ page_obj.previous_page_number }}">« 上一页</a>{% endif %}<span>第 {{ page_obj.number }} 页,共 {{ page_obj.paginator.num_pages }} 页</span>{% if page_obj.has_next %}<a href="?page={{ page_obj.next_page_number }}">下一页 »</a>{% endif %}</div>{% endif %}
{% endblock %}

详情页(object_detail.html)

{% extends "myapp/base.html" %}
{% block title %}对象详情{% endblock %}{% block content %}<h1>{{ object.title }}</h1><p>{{ object.content }}</p><p><small>创建于:{{ object.created_at|date:"Y-m-d H:i" }}</small></p><p><a href="{% url 'myapp:edit' object.pk %}">编辑</a> |<a href="{% url 'myapp:delete' object.pk %}">删除</a> |<a href="{% url 'myapp:list' %}">返回列表</a></p>
{% endblock %}

表单页(object_form.html)

{% extends "myapp/base.html" %}
{% block title %}{{ view.action }} 对象{% endblock %}
{% block content %}<h1>{{ view.action }} 对象</h1><form method="post">{% csrf_token %}{{ form.as_p }}<button type="submit">{{ view.action }}</button></form><a href="{% url 'myapp:list' %}">取消</a>
{% endblock %}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com