- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试向 View 发送 AJAX 发布请求,但由于某种原因我收到了 Http500 错误。
这是 AJAX 函数:
function update_coins() {
$.ajax({
method: "POST",
url: "/coins",
data: {"coins": transaction},
success: function(data) {
console.log('yay')
$( ".status" ).contents()[0].textContent = "Balance: " + data.coins
}
})
};
然后我在上面复制并粘贴了必要的 Django CSRF 代码。
我得到的错误是:
django.urls.exceptions.NoReverseMatch: Reverse for 'login' not found. 'login' is not a valid view function or pattern name.
"POST /coins HTTP/1.1" 500 59
我猜这与我的 urls.py 有关。
这是我的根应用程序的 urls.py:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^home$', views.home, name='home'),
url(r'^coins$', views.update_coins, name='coins'),
url(r'^shop', include('shop.urls', namespace='shop')),
url(r'^users/', include('users.urls', namespace='users')),
url(r'^oauth/', include('social_django.urls', namespace='social')),
]
这是我的商店应用程序的 urls.py:
urlpatterns = [
url(r'^', views.shop, name='shop'),
]
最后是我的用户应用程序的 urls.py
urlpatterns = [
url(r'^login/$', views.login_view, name='login'),
url(r'^logout/$', views.logout_view, name='logout'),
url(r'^change-password/$', views.change_password, name='change_password'),
url(r'^register/$', views.register, name='register'),
]
谢谢!
编辑 1:添加模板基本 html:
<!DOCTYPE html>
{% load staticfiles %}
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% block title %}{% endblock %}</title>
<link rel="shortcut icon" href="{% static 'assets/favicon.png' %}"/>
<link href="{% static 'css/bootstrap.css' %}" rel="stylesheet">
<link href="{% static 'css/font-awesome.css' %}" rel="stylesheet">
<link href="{% static 'css/bootstrap-social.css' %}" rel="stylesheet">
<link href="{% static 'base.css' %}" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Aladin" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Noto+Serif" rel="stylesheet">
{% block head-extras %}{% endblock %}
</head>
<body>
<nav class="navbar navbar-toggleable-md bg-white">
<div class="container">
<a href="/home" class="navbar-brand">
<h1 id="logo" class="nav-wel">Pomodoro</h1>
</a>
{% if request.user.is_authenticated %}
<span class="status">Balance: {{ request.user.profile.coins }}<img class="coin-img" src="{% static 'assets/coin.png' %}" height="40px" width="auto"></span>
<ul class="navbar-nav">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle welcome nav-wel" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false" id="welcome">Welcome {{ user.get_username }}</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/shop">Shop</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item">Leaderboard</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="/users/change-password">Change Password</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="/users/logout">Logout</a>
</div>
</li>
</ul>
{% endif %}
</div>
</nav>
{% block content %}
{% endblock %}
<script src="{% static 'js/jquery-3.2.1.js' %}"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
<script src="{% static 'js/bootstrap.js' %}"></script>
<script src="{% static 'js/pomodoro.js' %}"></script>
</body>
</html>
店铺html:
<!DOCTYPE html>
{% extends "base.html" %}
{% load staticfiles %}
{% block title %}Pomodoro{% endblock %}
{% block content %}
{% if request.GET.success %}
<div class="modal" id="logout-modal">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="alert alert-success main" role="alert">
<p><b>You have successfully changed your password.</b></p>
</div>
</div>
</div>
</div>
</div>
{% endif %}
<audio id="coin-sound">
<source src="{% static 'assets/coin.mp3' %}">
</audio>
<div class="row centre-v">
<div class="card clock-card">
<div class="card-block">
<span class="motivation">Work hard, play hard.</span>
<div class="clock-timer" id="clock-timer">
<span class="minutes"></span>:<span class="seconds"></span>
</div>
<div class="options">
<button class="btn btn-success btn-lg start-pomodoro">Start Pomodoro</button>
<button class="btn btn-info btn-lg start-break1 hidden">Start Break</button>
<button class="btn btn-info btn-lg start-break2 hidden">Start Break</button>
<button class="btn btn-danger btn-lg reset hidden">Reset</button>
</div>
</div>
</div>
</div>
{% endblock %}
编辑 2:我的 views.py:
@login_required(login_url='/users/login')
def update_coins(request):
"""
Function based view for increasing/decreasing a user's coin balance
"""
try:
user = request.user
except User.DoesNotExist:
raise Http404("No user matches the given query.")
if request.is_ajax() and request.method=='POST':
amount = request.POST.get("coins", 5)
user.profile.coins += amount
user.save()
return JsonResponse({'coins': user.profile.coins})
else:
raise Http404
最佳答案
可能是您的用户应用 URL 覆盖了默认的登录反向 View 。尝试将 users app's urls.py
中的登录 url 名称重命名为其他名称,看看是否可行。
关于javascript - NoReverseMatch,反向登录未找到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44275476/
我正在尝试添加我单独制作的用户应用程序,然后尝试将其添加到我的博客中。但问题是每次我尝试添加这个东西都会搞砸,就像我现在遇到的这个错误一样。 raise NoReverseMatch(msg) dja
我有以下设置: /landing_pages views.py urls.py 在urls.py中,当我尝试访问/competition时,我有以下内容: from django.conf.u
我在浏览器中遇到此异常,我已经看到多达 20 篇与此错误相关的帖子,但我找不到任何解决方案。我是 Django 的新手,请帮助我,在此先感谢。 我的项目名/urls.py urlpatterns =
我有这个问题,被困了几个小时。 NoReverseMatch位于/ 找不到参数“('',)”的“hotovo”。尝试了1个模式:['hotovo/(?P [^/] +)$']。 网址: urlpatt
所以我做了很多博客教程中的一个,现在我正在开发自己的应用程序。我遇到了这个错误: Reverse for '' with arguments '()' and keyword arguments '{
使用 Django 1.10.4。我有一个模型 Stream,我为其创建了 CreateView。当通过管理面板创建对象时,一切正常,但是当我使用 CreateView 表单时,创建了一个对象(在管理
为什么我会得到 Reverse for 'explorer_js' not found. 'explorer_js' is not a valid view function or pattern n
我正在构建一个函数,以在用户单击链接时增加模型,但即使我传递了所有参数,我仍然无法解决此问题。 Reverse for 'karma' with keyword arguments '{'token'
我正在尝试向 View 发送 AJAX 发布请求,但由于某种原因我收到了 Http500 错误。 这是 AJAX 函数: function update_coins() { $.ajax({
我不明白这是怎么回事?我试图制作一个项目的详细信息页面,例如 http://tutorial.djangogirls.org/en/extend_your_application/index.html
我正在 django 1.6(和 python 2.7)中制作一个简单的登录应用程序,但我在开始时遇到错误,无法继续。 这是网站的 url.py from django.conf.urls impor
调试了一段时间后,我发现了错误是什么,但我不知道如何修复它。 我有一个名为“ver_caja”的 urlConf ' 谁接收一个 caja 对象的 id 作为参数,然后调用泛型 object_deta
刚开始使用 Django,但遇到了一些困难——我决定尝试编写一个简单的博客引擎,同时引用 django-basic-apps 库。 在 blog/urls.py 中,我有这个条目按日期映射到实际的帖子
我正在开发一个简单的应用程序,宠物用户可以在其中创建关于他们宠物的板并在板上显示图片。 我正在尝试创建一个功能,用户可以点击他们的图板,将他们重定向到他们的图板,该图板将显示他们所有的宠物图片。 当我
我在 View 中有两种方法 create 和 update ,其中 update 接受一个参数,而 create 不接受任何参数。我决定将它们变成只有一个函数 update_create 因为它们没
我遇到了这个错误,但似乎无法弄清楚。我直接从以前的 Django 项目复制它,因此造成了部分困惑。 TemplateSyntaxError at Caught NoReverseMatch while
我在让 password_Reset_confirm 位工作时遇到问题。 网址: (r'^password_reset/$', 'django.contrib.auth.views.password_
目前 Django URL 标记出现 NoReverseMatch 错误。一直在关注 Django 权威指南、Django 文档,并在此处和互联网上进行搜索 网址: url(r'^test/', Se
我又花了一个晚上在这上面...有人可以帮忙吗? 我正在尝试在 http://lightbird.net/dbe/todo_list.html 复制 kickstart 示例这似乎是为早期版本的 Dja
我在尝试使用 url 标记链接到 View 时遇到了这个错误。错误发生在这一行: {% for algorithim in algorithims %} 在模板中。 不太确定我哪里出错了。我想我已经附
我是一名优秀的程序员,十分优秀!