python - 我试图在同一个项目中为第二个应用程序使用基于类的视图,但是,更改没有通过?
问题描述
待办事项的 url.py
from django.urls import path
from . import views
from .views import TodoListView
urlpatterns = [
path('todo/', TodoListView.as_view(), name='blog-todo')
]
待办事项的views.py
from django.shortcuts import render
from django.http import HttpResponse
from .models import Todo
from django.views.generic import ListView
def todo(request):
context = {
'todo_list': Todo.objects.all(),
'title': 'Todo'
}
return render (request, 'todo/to_do.html', context)
class TodoListView(ListView):
model = Todo
template_name = 'todo/to_do.html'
context_object_name = 'todo_list'
ordering = ['-date_posted']
这是我的项目常规 urls.py
from django.contrib import admin
from django.contrib.auth import views as auth_views
from django.urls import path, include
from users import views as user_views
from django.conf import settings
from django.conf.urls.static import static
from todo import views
urlpatterns = [
path('admin/', admin.site.urls),
path('todo/', views.todo, name='blog-todo'),
path('register/', user_views.register, name='register'),
path('profile/', user_views.profile, name='profile'),
path('login/', auth_views.LoginView.as_view(template_name='logout_pages/login.html'), name='login'),
path('logout/', auth_views.LogoutView.as_view(template_name='logout_pages/logout.html'), name='logout'),
path('', include('blog.urls')),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
待办事项的models.py
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
class Todo(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.title
我试图为从数据库中提取的所有待办事项创建一个视图列表。但是,这并没有进行必要的更改,在这种情况下,它是我在 views.py 中实现的 TodoListView 类。我已经有一个函数博客应用程序使用相同的基于类的视图。
解决方案
待办事项的 url.py:
from django.urls import path
from . import views
app_name = 'my second app name'
urlpatterns = [
path('todo', views.todo, name='todo')
]
这是我的项目常规 urls.py
from django.contrib import admin
from django.contrib.auth import views as auth_views
from django.urls import path, include
from users import views as user_views
from django.conf import settings
from django.conf.urls.static import static
from todo import views
urlpatterns = [
path('admin/', admin.site.urls),
path('second_adpp/', include('second_app.urls')),
path('register/', user_views.register, name='register'),
path('profile/', user_views.profile, name='profile'),
path('login/', auth_views.LoginView.as_view(template_name='logout_pages/login.html'), name='login'),
path('logout/', auth_views.LogoutView.as_view(template_name='logout_pages/logout.html'), name='logout'),
path('', include('blog.urls')),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
待办事项的views.py
from django.shortcuts import render
from django.http import HttpResponse
from .models import Todo
from django.views.generic import ListView
def todo(request):
context = {
'todo_list': Todo.objects.all().values(),
'title': 'Todo',}
return render (request, 'todo/to_do.html', context)
推荐阅读
- php - 如何使用我在android中的gps位置检索存储在mysql db中的最近位置
- python - 检查所有元组是否包含特定值
- android - asynctask 中的赋值在其他函数中显示为 null
- r - R - ggplot,构造手动图例不显示
- leaflet - 将图层和图层控件添加到自定义地图?
- powershell - 执行 PowerShell 代码时出错
- blockchain - 与已通过地址部署的以太坊智能合约交互
- android - HTTP 失败:java.net.SocketException:套接字关闭改造
- c++ - 如何获取 Ascii 格式 llvm 的指针类型?
- algorithm - 查看一条线何时接触球体