Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django评级-404错误“;型号或应用程序标签无效;?为什么?_Django_Raty_Django Ratings - Fatal编程技术网

Django评级-404错误“;型号或应用程序标签无效;?为什么?

Django评级-404错误“;型号或应用程序标签无效;?为什么?,django,raty,django-ratings,Django,Raty,Django Ratings,有人能帮我使用Django收视率应用程序吗?我试图发布一个评级,但该应用程序似乎什么都没做。我在这里错过了什么?很难找到这样的例子 我的函数如下所示(jquery Raty插件): GET似乎可以工作,但我可以在我的管理中看到没有登记投票/分数 在我的URL中: url(r'rate/(?P<object_id>\d+)/(?P<score>\d+)/', AddRatingFromModel(), { 'app_label': 'myapp', 'mod

有人能帮我使用Django收视率应用程序吗?我试图发布一个评级,但该应用程序似乎什么都没做。我在这里错过了什么?很难找到这样的例子

我的函数如下所示(jquery Raty插件):

GET似乎可以工作,但我可以在我的管理中看到没有登记投票/分数

在我的URL中:

url(r'rate/(?P<object_id>\d+)/(?P<score>\d+)/', AddRatingFromModel(), {
    'app_label': 'myapp',
    'model': 'MyModel',
    'field_name': 'rating',
}),
url(r'rate/(?P\d+)/(?P\d+)/),AddRatingFromModel(){
“应用程序标签”:“我的应用程序”,
'model':'MyModel',
“字段名称”:“评级”,
}),
编辑:


我收到一个404错误“型号或应用程序标签无效”。但是我非常确定这些是正确的。

此应用程序不需要
POST
请求。解决此问题的最简单方法是在ajax请求中设置“GET”方法

$.ajax({
    ...
    type: 'GET'
    ...
要避免404,您需要用小写字母书写模型名称。在
django.contrib.contenttypes
app\u label
model
中,使用小写字母

url(r'rate/(?P<object_id>\d+)/(?P<score>\d+)/', AddRatingFromModel(), {
...
  'model': 'mymodel',
...
}),
url(r'rate/(?P\d+)/(?P\d+)/),AddRatingFromModel(){
...
'model':'mymodel',
...
}),

您能展示一下
从模型添加的内容吗?
?哦,这只是一个视图,它是原始软件包的一部分。我认为我不应该在那里改变什么。但我想如果你觉得有帮助的话我可以把它贴出来?我试着这样做:我想它在这里:您的ajax响应返回什么?你可以在Chrome开发者工具>网络中看到这一点。Andrey,很好,我不知道。它在状态/文本中表示:403禁止。这是与CSRF相关的问题吗?我对这一切还很陌生。我甚至不确定“post”是否是我应该在这里使用的方法类型。谢谢!我已经设法通过post+csrf令牌和更改为get(右侧不需要csrf令牌?)来通过403禁止通行证。但是我现在得到的不是403而是404:“无效的
型号
应用程序标签
”我不明白为什么。我受够了。你有什么想法吗?@user3199840展示你的应用程序的models.py。文件夹是否包含
\uuuu init\uuuuuuuuuuuuuuuuuupy
,您是否已将
应用程序添加到
已安装的应用程序中?是的,设置“已安装的应用程序”中列出了“myapp”和“djangoratings”应用程序。“myapp”的文件夹中确实有一个init.py。它们都出现在管理页面中。在我的模型中,我有一个名为“MyModel”的类,它带有一个评级字段。我将遵循以下步骤:。我将使用我的model.OMG编辑帖子!我认为它有效!!这么简单的一件事,但我想我自己永远也找不到。你花时间帮我真是太酷了!谢谢你,伙计@用户3199840我很乐意帮助:)
url(r'rate/(?P<object_id>\d+)/(?P<score>\d+)/', AddRatingFromModel(), {
...
  'model': 'mymodel',
...
}),