我正在尝试建立一个简单的博客应用程序的ubuntu滴托管在数字海洋。
我有一个正在开发中的DJango应用程序,我得到了一个存在的视图的No reverse match
下面是错误:
'NoReverseMatch at / Reverse for 'post_detail' not found. 'post_detail' is not a valid view function or pattern name.'以下是我的Url模式:
from . import views
urlpatterns = [
url(r'^$', views.post_list, name='post_list'),
url(r'^post/(?P<pk>\d+)/$', views.post_detail, name='post_detail'),
]
~这是我的观点
from django.shortcuts import render, get_object_or_404
def post_list(request):
posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
return render(request, 'blog/post_list.html', {'posts': posts})
def post_detail(request, pk):
post = get_object_or_404(Post, pk=pk)
return render(request, 'blog/post_detail.html', {'post': post})
~下面是我的nginx文件:
server {
listen 80;
server_name XXX.XXX.XXX.XXX;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/XXXX/Django;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/XXX/Django/BizBlog.sock;
}
}错误发生在哪里?我不知道这是怎么回事,我以前用过Django,我知道这跟我的view函数中的url搜索字符串模式有关,虽然找不到,但这个函数就在那里。怎么啦?
下面是我的主url.py:
from django.contrib import admin
from django.urls import path
from django.conf.urls import include
from django.conf.urls import url
urlpatterns = [
path('admin/', admin.site.urls),
url(r'', include('blog.urls')),
]发布于 2021-01-19 23:33:10
只需停止django开发服务器进程,在linux上重启services waitress,在windows/linux上重启nginx。
https://stackoverflow.com/questions/51256330
复制相似问题