所有位置的NoReverseMatch,Django 1.9

问题描述 投票:1回答:1

因此,我正在和朋友一起使用Django 1.9在Django中创建一个Web应用程序。然而,最近我从我们的git repo中删除了一些小的改动,突然间我得到NoReverseMatch,无论我在哪里尝试进入我们的页面。它适用于我的朋友,我们正在使用相同版本的Django。

所做的更改是在forms.py和views.py中,在urls.py中没有触及任何内容,我收集了这个问题的最常见原因来自。

我们有两个urls.py文件,一个在我们的app目录中:

(imports and fluff omitted)
urlpatterns = [
url(r'^', views.index, name = 'index'),
url(r'^play', views.play, name='play'),
url(r'^create_user/$', views.create_user, name='create_user'),
]

和app dir上面的目录中的一个:

(imports and fluff omitted again)
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'', include('antonymapp.urls')),
url(r'^accounts/login/$', login),
]

无论URL定义在何处,问题仍然存在。

这是我们的views.py文件,省略了导入:

def index(request):
    return render(request, 'antonymapp/index.html', {})


def login(request):
    return render(request, 'antonymapp/login.html', {})

def create_user(request):
    if request.method == "POST":
    form = UserCreationForm(request.POST)
    if form.is_valid():
        username = form.cleaned_data["username"]
        password = form.cleaned_data["password1"]
        new_user = User.objects.create_user(username=username, password=password)
        return redirect('play')
else:
    form = UserCreationForm()

return render(request, 'antonymapp/create_user.html', {'form': form}) 

@login_required
@csrf_protect
def play(request):
    if request.method == 'POST':
        form = SomeForm(request.POST)
        print(form.is_valid()) 
        if form.is_valid():
            picked = form.cleaned_data.get('picked')
            picked = int(picked[0])
            player = request.user.userprofile
            player.score = player.score + picked
            player.save()
    else:
        form = SomeForm

    return render(request, 'antonymapp/play.html', {'form':form })

大编辑与信息 堆栈跟踪:

Environment:


Request Method: GET
Request URL: http://127.0.0.1:8000/

Django Version: 1.9
Python Version: 3.4.3
Installed Applications:
['antonyms',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'antonymapp']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']


Template error:
In template /home/lisa/Documents/Skola/Kex/AntonymApp/antonymapp/templates/antonymapp/index.html, error at line 0
   Reverse for 'post_new' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []   1 : {% extends 'antonymapp/base.html' %}
   2 : 
   3 : {% block content %}
   4 :  <h1> Hej och välkommen till vår sida! </h1>
   5 :  <p>
   6 :      <a href="{% url 'django.contrib.auth.views.login' %}">Logga in</a>
   7 :  </p>
   8 :  <p>
   9 :      <a href="{% url 'create_user' %}" class="user-text">Skapa användare</a>
   10 :     </p>


Traceback:

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/defaulttags.py" in render
  507.                               current_app=current_app)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/core/urlresolvers.py" in reverse
  600.     return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)))

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/core/urlresolvers.py" in _reverse_with_prefix
  508.                              (lookup_view_s, args, kwargs, len(patterns), patterns))

During handling of the above exception (Reverse for 'antonyms.post_new' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []), another exception occurred:

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
  149.                     response = self.process_exception_by_middleware(e, request)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
  147.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/antonymapp/views.py" in index
  15.   return render(request, 'antonymapp/index.html', {})

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/shortcuts.py" in render
  67.             template_name, context, request=request, using=using)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/loader.py" in render_to_string
  97.         return template.render(context, request)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/backends/django.py" in render
  95.             return self.template.render(context)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/base.py" in render
  206.                     return self._render(context)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/base.py" in _render
  197.         return self.nodelist.render(context)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/base.py" in render
  988.                 bit = node.render_annotated(context)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/base.py" in render_annotated
  955.             return self.render(context)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/loader_tags.py" in render
  173.         return compiled_parent._render(context)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/base.py" in _render
  197.         return self.nodelist.render(context)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/base.py" in render
  988.                 bit = node.render_annotated(context)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/base.py" in render_annotated
  955.             return self.render(context)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/defaulttags.py" in render
  326.                 return nodelist.render(context)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/base.py" in render
  988.                 bit = node.render_annotated(context)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/base.py" in render_annotated
  955.             return self.render(context)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/defaulttags.py" in render
  513.                         six.reraise(*exc_info)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/utils/six.py" in reraise
  686.         raise value

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/template/defaulttags.py" in render
  499.             url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/core/urlresolvers.py" in reverse
  600.     return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)))

File "/home/lisa/Documents/Skola/Kex/AntonymApp/myvenv/lib/python3.4/site-packages/django/core/urlresolvers.py" in _reverse_with_prefix
  508.                              (lookup_view_s, args, kwargs, len(patterns), patterns))

Exception Type: NoReverseMatch at /
Exception Value: Reverse for 'post_new' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

来自django导入表单的forms.py

class SomeForm(forms.Form):
    CHOICES = ((1,'1'),
               (2,'2'),
               (3,'3'),
               (4,'4'),
               (5,'5'),)
    picked = forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect())

我和我的朋友坐在不同的计算机上,我们都修复了一个错误(以同样的方式)他将更改推送到github。然后我删除了我所做的更改并删除了他的更改(我们还没有学习如何在github中处理分支)。

所以我不确定我是否能找到差异,因为在删除我的更改并删除更改之前,我从未提交过我的文件。

编辑

我最终做的是删除我的本地版本的项目,然后从git克隆。它现在有效,但我不知道为什么和出了什么问题。

django
1个回答
0
投票

只是为了添加到语料库,我也发生了这种情况。这是一个非常基本的项目,没有任何有趣的事情发生。

所有我改变的是安装psycopg2和一个正在工作的项目停止工作与上述相同的错误。

虽然我没有删除我卸载的项目,而是在环境中重新安装了django,但突然间网址再次正常运行。

Ubuntu 18.04
Django 2.1.1

是的,奇怪的错误。

© www.soinside.com 2019 - 2024. All rights reserved.