反转为"note_detail",找不到参数"(,)"。已尝试 1 种模式:['注释\\/(?P<slug>[-\\w]+)/$']



NoReverseMatch at/notes/反转为"note_detail",未找到参数"(",("。尝试了 1 种模式:['注释\/(?P[-\w]+(/$'] 请求方法:获取 请求网址:http://127.0.0.1:8000/notes/姜戈版本:2.0.3 异常类型:无反向匹配 异常值:
未找到参数"(",("的"note_detail"反向。 尝试了 1 种模式:['注释\/(?P[-\w]+(/$'] 异常位置:C:\Users\auwwa\Desktopotes\lib\site-packages\django\urls\resolvers.py in _reverse_with_prefix,第 632 行 Python 可执行文件:C:\Users\auwwa\Desktopotes\Scripts\python.exe 蟒蛇版本:3.6.4 Python Path:
['C:\Users\auwwa\Desktopotes\srcotes', 'C:\Users\auwwa\Desktopotes\Scripts\python36.zip', 'C:\Users\auwwa\Desktopotes\DLLs', 'C:\Users\auwwa\Desktopotes\lib', 'C:\Users\auwwa\Desktopotes\Scripts', 'C:\Users\auwwa\AppData\Local\Programs\Python\Python36\Lib', 'C:\Users\auwwa\AppData\Local\Programs\Python\Python36\DLLs', 'C:\Users\auwwa\Desktopotes', 'C:\Users\auwwa\Desktopotes\lib\site-packages'] 服务器时间:2018 年 10 月 24 日星期三 21:18:57 +0000

我有问题 反转 对于带有参数"(","("的"note_detail"未找到。 尝试了 1 种模式:['注释\/(?P[-\w]+(/$']

这是视图:

from django.shortcuts import render
from .models import Note
from django.contrib.auth.models import User
from .forms import NoteForm
# Create your views here.
def all_notes(request):
all_notes = Note.objects.all()
context = {
'all_notes':all_notes,
}
return render(request, 'all_notes.html',context)

def detail(request, slug):
note = Note.objects.get(slug=slug)
context = {
'note':note
}
return render(request, 'note_details.html', context)
def note_add(request):
if request.method == 'POST':
form = NoteForm(request.POST)
if form.is_valid():
new_form = form.save(commit=False)
new_form.user = request.user
new_form.save()
else:
form = NoteForm()
context={ 
'form':form
}
return render(request, 'add.html',context)

和网址nots_app:

from django.conf.urls import url
from . import views
app_name = "notes_app"
urlpatterns = [
url(r'^$', views.all_notes, name='all_notes'),
url(r'^(?P<slug>[-w]+)/$', views.detail , name='note_detail'),
url(r'^Add$', views.note_add, name='add_note'),
]

forms.py::

from django import forms
from .models import Note
class NoteForm(forms.ModelForm):    
class Meta:
model = Note
fields = ['title', 'content', 'tags']

所有笔记.html::

<h1>Welcome in my notes</h1>
<h3>All The Available Notes</h3>
<a href="{% url 'notes:add_note' %}">Add New Notes</a>
<br>
<hr>
{% for note in all_notes %}
<a href="{% url 'notes:note_detail' note.slug %}">{{note}}</a>
<br>
{% endfor %}

notes_detail.html::

<h1>welcome</h1>
{{note}}<br>
{{note.content}}<br>
{{note.created}}<br>
{{note.tags}} <br>

models.py:::

from django.db import models
from django.contrib.auth.models import User
import datetime
from django.utils.text import slugify

# Create your models here.
class Note(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=50)
slug = models.SlugField(null=True,blank=True)
content = models.TextField(blank=True)
created = models.DateTimeField(blank=True, default=datetime.datetime.now)
active = models.BooleanField(default=True)
tags = models.CharField(blank=True, max_length=100)
def save(self, *args, **kwargs ):
if not self.slug:
self.slug = slugify(self.title)
super(Note, self).save(*args, **kwargs )
def __str__(self):
return self.title

此行中的 note.slug 不返回值。 上下文值 all_notes 中没有对象,或者没有 slug,上下文对象名称错误等。 如果你知道现有 slug 的价值,只需将其硬核放入其中,看看它是否有效,例如

最新更新