小编Pet*_*nan的帖子

Django 1.7升级错误:AppRegistryNotReady:模型尚未加载

我正在尝试将项目从Django 1.6升级到1.7.到目前为止,我已经创建了一个具有所有相同安装的新virtualenv,并将Django版本升级到新版本.我需要从南升级,但有错误这样做,所以我想我最初只是尝试runserver,我得到以下错误:

Traceback (most recent call last):
      File "manage.py", line 10, in <module>
        execute_from_command_line(sys.argv)
      File "/Users/Name/.virtualenvs/test17/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
        utility.execute()
      File "/Users/Name/.virtualenvs/test17/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute
        django.setup()
      File "/Users/Name/.virtualenvs/test17/lib/python2.7/site-packages/django/__init__.py", line 21, in setup
        apps.populate(settings.INSTALLED_APPS)
      File "/Users/Name/.virtualenvs/test17/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
        app_config.import_models(all_models)
      File "/Users/Name/.virtualenvs/test17/lib/python2.7/site-packages/django/apps/config.py", line 197, in import_models
        self.models_module = import_module(models_module_name)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
        __import__(name)
      File "/Users/Name/Dev/tps/products/models.py", line 127, in <module>
        watson.register(Product.objects.exclude(productimage=None))
      File "/Users/Name/.virtualenvs/test17/lib/python2.7/site-packages/django/db/models/manager.py", line 92, in manager_method
        return getattr(self.get_queryset(), name)(*args, **kwargs)
      File "/Users/Name/.virtualenvs/test17/lib/python2.7/site-packages/django/db/models/query.py", line 698, in …
Run Code Online (Sandbox Code Playgroud)

django django-1.7

18
推荐指数
4
解决办法
4万
查看次数

具有依赖于id的动态success_url的DeleteView

我有一个帖子的应用程序,每个帖子都有一个网址:

url(r'^post/(?P<id>\w+)/$', 'single_post', name='single_post'),
Run Code Online (Sandbox Code Playgroud)

在每篇文章中,我都有评论.我希望能够从帖子页面删除每条评论并返回我所在的帖子.

我有以下网址删除评论:

    url(r'^comment/(?P<pk>\d+)/delete/$', CommentDelete.as_view(),
    name='comment_delete'),
Run Code Online (Sandbox Code Playgroud)

我从之前的研究中得知,我需要覆盖get_success_url,但我不确定如何引用我刚刚发布的帖子ID.我想我需要使用kwargs,但不确定如何.我目前有这个,但它不起作用......

class CommentDelete(PermissionMixin, DeleteView):
model = Comment
def get_success_url(self): 
    return reverse_lazy( 'single_post',
        kwargs = {'post.id': self.kwargs.get('post.id', None)},)
Run Code Online (Sandbox Code Playgroud)

想法赞赏!

django

8
推荐指数
1
解决办法
4354
查看次数

在Django Admin中查找站点的site_id

我正在将Django AllAuth安装到我的项目中,并在该应用程序的文档中遇到以下行(请参阅此处的文档):

为您的域添加网站,匹配settings.SITE_ID(django.contrib.sites app).

我的settings.SITE_ID是1,不出所料.如何在Django Admin中"匹配"这个?我只有2个字段 - 域名和显示名称.

相反,如果我在管理员中创建一个站点,我怎么知道它的site_id是什么?

django

6
推荐指数
1
解决办法
2404
查看次数

通过html链接删除Django中的对象

我有一个Post模型的项目,这是基本的帖子.我想在每个帖子页面上创建一个链接,以便能够删除该帖子(具有适当的安全性).

关于堆栈溢出有一些问题,但我似乎无法找到一个完整的,可行的答案(我正在使用Django 1.7),当我实现它时不会抛出错误.

我已经能够实现一个正常的删除功能,但需要添加一个带有CSRF令牌的POST表单进行验证,并检查删除它的用户是否是创建它的人.我似乎无法弄清楚如何添加这两个.

到目前为止,在我的views.py中:

def delete(request, id):
    post = Post.objects.filter(pk=id).delete()
    return HttpResponseRedirect(reverse('posts.views.all_posts'))
Run Code Online (Sandbox Code Playgroud)

在urls.py中:

url(r'^delete/(?P<id>\d+)/$','posts.views.delete'),
Run Code Online (Sandbox Code Playgroud)

在html中:

<a href="/delete/{{ post.id }}">Delete</a>
Run Code Online (Sandbox Code Playgroud)

这一切都有效,但没有安全性 - 所以请欣赏有关如何添加表单和检查的指导.

另外,我已经看到了一个使用DeleteView的答案,但是也无法使用它.

django

6
推荐指数
1
解决办法
3809
查看次数

标签 统计

django ×4

django-1.7 ×1