【发布时间】:2019-12-21 19:53:33
【问题描述】:
我正在尝试将从我的 views.py 文件创建的视图导入到我的 django 项目的 urls.py 文件中。这样做后,终端显示属性错误。我正在关注一个说它有效但我不知道该怎么做的教程
我什么都试过了。我还检查了堆栈溢出消息。没有任何帮助。
posts/views.py
from django.shortcuts import render, redirect, get_object_or_404
from .forms import PostForm
from .models import Post
from django.views.generic import ListView, DetailView
# Create your views here.
class IndexView(ListView):
template_name = 'posts/index.html'
context_object_name = 'post_list'
def get_queryset(self):
return Post.objects.all()
class PostDetailView(DetailView):
model = Post
template_name = 'posts/post-detail.html'
def postview(request):
if request.method == 'POST':
form = PostForm(request.POST)
if form.is_valid():
form.save()
return redirect('index')
form = PostForm()
return render(request, 'posts/post.html', {'form': form})
def edit(request, pk, template_name='posts/edit.html'):
post = get_object_or_404(Post, pk=pk)
form = PostForm(request.POST or None, instance=post)
if form.is_valid():
form.save()
return redirect('index')
return render(request, template_name, {'form': form})
def delete(request, pk, template_name='posts/confirm_delete,html'):
post = get_object_or_404(Post, pk=pk)
if request.method == 'POST':
post.delete()
return redirect('index')
return render(request, template_name, {'object': post})
posts/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.IndexView.as_view(), name='index'),
path('<int:pk>/', views.PostDetailView.as_view(), name='detail'),
path('edit/<int:pk>/', views.edit, name='edit'),
path('post/', views.postview, name='post'),
path('delete/<int:pk>/', views.delete, name='delete'),
]
该网站旨在启动并运行并显示预加载的帖子。相反,我看到此错误消息
文件“C:\Users****\PycharmProjects\CRUD\CRUD\posts\urls.py”,第 6 行,在 路径('edit//',views.edit,name='edit'), AttributeError: 模块 'posts.views' 没有属性 'edit'
【问题讨论】:
标签: python django pycharm frontend