小编dar*_*rse的帖子

RuntimeError:模型类django.contrib.sites.models.Site未声明显式的app_label,并且不在INSTALLED_APPS的应用程序中

我正在使用Django Rest Framework和AngularJs构建一个应用程序.我使用Django-rest-auth进行身份验证,但是,我无法进行设置.无论如何,我试图用我的项目设置这个应用程序.我意识到我需要安装django-rest-auth-registration才能让它运行,所以我按照这个文档做了以下事情:

我跑了命令

pip install django-rest-auth

pip install django-allauth

任何我的settings.py看起来像这样:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # 3rd party apps
    'rest_framework',
    'rest_framework.authtoken',
    'rest_auth',
    'allauth',
    'allauth.account',
    'rest_auth.registration',

    # My app
    'myapp',
]
Run Code Online (Sandbox Code Playgroud)

我还添加了身份验证后端,context_processors和正确的URL.

但是,当我尝试迁移时,我的终端会抛出以下错误:

RuntimeError:模型类django.contrib.sites.models.Site不声明显式的app_label,也不在INSTALLED_APPS的应用程序中.

为什么我会收到此错误,如何解决此问题以迁移我的项目?谢谢!

django django-rest-framework django-rest-auth

54
推荐指数
2
解决办法
6万
查看次数

在 Django PostgreSQL 中索引 JSONField

我正在使用一个简单的模型,该模型的属性将该对象的所有数据存储在 JSONField 中。将其视为将 NoSQL 数据传输到我的 PostgreSQL 数据库的方式。有点像这样:

from django.contrib.postgres.fields import JSONField   

class Document(models.Model):
    content = JSONField()
Run Code Online (Sandbox Code Playgroud)

每个Document对象在其content字段中(或多或少)具有相同的键,因此我正在使用这些键查询和排序这些文档。对于查询和排序,我使用的是 Django 的annotate()函数。我最近遇到了这个:

https://docs.djangoproject.com/en/2.1/ref/contrib/postgres/indexes/

我也知道 PostgreSQL 使用 JSONB,这显然是可索引的。所以我的问题是:我能否content以某种方式索引我的字段以加快复杂查询的读取操作?如果是这样,那么我该怎么做?我链接的文档页面没有示例。

django postgresql

16
推荐指数
2
解决办法
3083
查看次数

如何使用bootstrap使图像响应而不占用整个分区的宽度?

任何使用过twitter bootstrap的人都知道可以使用img-responsivehtml img标签中的类来响应图像.但是,这些图像占据了分区宽度的100%.

如何在保持原始宽度的同时使图像响应?

html css twitter-bootstrap

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

在AngularJs routeProvider中使用Django URL

对于一个项目,我在后端使用Django,在前端使用AngularJs.

基本上,我想要的是仅在url开头时运行Angular应用程序projectkeeper/.

换句话说,假设我的网站是example.com.我希望角度应用程序为URL运行example.com/projectkeeper/dashboard/,example.com/projectkeeper/projects/依此类推,但不是example.com/about/.

希望我已经清楚了.无论如何,为了做到这一点,我正在使用我的代码执行以下操作:

urls.py

urlpatterns = [
    url(r'^projectkeeper/$', TemplateView.as_view(template_name='base.html')),
]
Run Code Online (Sandbox Code Playgroud)

在模板base.html中,我明显地提到了我的角度应用程序.对于角度路由,我做了以下事情:

myapp.config(['$routeProvider', function($routeProvider) {
    $routeProvider
        .when('/dashboard/', {
            title: 'Dashboard',
            controller : 'DashboardController',
            templateUrl : 'static/app_partials/projectkeeper/dashboard.html'
        })
        .otherwise({ redirectTo : '/' });
}]);
Run Code Online (Sandbox Code Playgroud)

所以,理想情况下,我认为example.com/projectkeeper/#/dashboard/将从我的角度应用程序运行DashboardController.但是,情况并非如此,我只得到一个空页面,这意味着路由不正确.

对此有何解决方案?正如我之前所说的,我想要的是在url开头时运行Angular应用程序projectkeeper/.

javascript python django angularjs

13
推荐指数
1
解决办法
622
查看次数

无法从Django中的其他应用程序导入模型

所以我在同一个项目中运行了2个应用程序.

我的文件结构如下:

/project_codebase
    /project
        __init.py
        settings.py
        urls.py
        wsgi.py
        ...    
    /app1
        ...
    /app2
        ...
    manage.py
Run Code Online (Sandbox Code Playgroud)

所以,我出于某些奇怪的原因为我的基目录设置了一个不同的名称(也就是说,它以codebase结尾).希望这不是问题.

在我的settings.py中,我有这个:

INSTALLED_APPS = [
    ...

    'app1',
    'app2',
]
Run Code Online (Sandbox Code Playgroud)

好的,所以在我的models.py(来自app2)中,我可以轻松地从app1导入模型from app1.models import *,但是,当我from app2.models import *models.py(来自app1)中使用时,我得到一个ImportError.

对此有何解决方案?

python django django-apps

13
推荐指数
3
解决办法
2万
查看次数

如何在使用vue-router时更改页面标题?

如果可能的话,我想在路线定义中指定我的标题.通常在<head><title>浏览器标题栏中指定和显示的内容.

我的项目设置如下:

main.js

import Vue from 'vue'
import App from './App.vue'
import VeeValidate from 'vee-validate';
import router from './router'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(VeeValidate);
Vue.use(ElementUI);
Vue.config.productionTip = false

new Vue({
    router,
    render: h => h(App)
}).$mount('#app')
Run Code Online (Sandbox Code Playgroud)

router.js

import Vue from 'vue'
import Router from 'vue-router'
import Skills from './components/Skills.vue'
import About from './components/About.vue'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'skills',
      component: Skills,
      meta: { title: 'Skills - MyApp' } // <- …
Run Code Online (Sandbox Code Playgroud)

vue.js vue-router vuejs2

13
推荐指数
6
解决办法
7454
查看次数

在Django Rest Framework中发布外键关系

在我的模型中,我有以下类:

class Topic(models.Model):
    name = models.CharField(max_length=25, unique=True)

class Content(models.Model):
    title = models.CharField(max_length=255)
    body = models.TextField()
    topic = models.ForeignKey(Topic, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

我的序列化器是这样的:

class TopicSerializer(serializers.ModelSerializer):
     class Meta:
         model = Topic
         fields = ('name')

class ContentSerializer(serializers.ModelSerializer):
     topic = TopicSerializer(read_only=True)
     class Meta:
          model = Content
          fields = ('title', 'body', 'topic')
Run Code Online (Sandbox Code Playgroud)

好吧,所以在我的网址文件中,我有以下模式:

urlpatterns = [
    ...
    url(r'^api/topic_detail/(?P<name>[a-zA-Z0-9-]+)/content_list/$', views.topic_content_list, name='topic_content_list'),
    ...
]
Run Code Online (Sandbox Code Playgroud)

因此,当用户说/api/topic_detail/sports/content_list/,我们获得具有体育主题的所有内容的列表.现在我想的是,如果我们POST以下数据到上述网址,那么内容对象是否使用自动与体育有关的话题场创建.

我试图在我的观点中以下列方式执行此操作:

@api_view(['GET', 'POST'])
def topic_content_list(request, name):
    try:
        topic = …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

9
推荐指数
1
解决办法
2万
查看次数

如何获取PostgreSQL支持的时区列表?

这个问题是不言自明的。我在这里找到了这个文档:

https://www.postgresql.org/docs/current/view-pg-timezone-names.html

但是,它并没有真正提到如何获取所有支持的时区的列表。我怎样才能做到这一点?

postgresql

9
推荐指数
2
解决办法
5438
查看次数

如何设置随机整数作为Django CharField的默认值?

我的models.py看起来像这样:

import random
random_string = str(random.randint(10000, 99999))

class Content(models.Model):
    ......
    unique_url = models.CharField(default = random_string)
Run Code Online (Sandbox Code Playgroud)

当我在admin中添加内容时,会生成该范围内的整数并将其作为其默认值放入charfield.从那里,我可以简单地在charfield中添加更多单词.但是,我当前设置的问题是每次添加新文章时整数都保持不变.我想生成并插入随机整数,因为我使用unique_url字段基本上找到我的每个特定对象,我期待很多内容,所以添加随机数通常会确保每个内容都有一个kind unique_url.

因此,我正在寻找一个系统,每次使用管理面板添加新内容时生成随机整数,并将其作为字段的默认值.在Django中这样的事情是否可能?

python django django-models django-admin

8
推荐指数
2
解决办法
4308
查看次数

Django 中的 post_save 信号是原子的吗?

我真的在文档中找不到任何可靠的东西。可以说我正在做这样的事情:

from django.db.models.signals import post_save
from django.dispatch import receiver

class Item(models.Model):
    total_score = models.IntegerField()

    def set_score(self):
         ...

class Review(models.Model):
    item = models.ForeignKey(Item, on_delete=models.CASCADE)
    score = models.IntegerField()

@receiver(post_save, sender=Review)
def my_handler(sender, **kwargs):
    sender.item.set_score()
Run Code Online (Sandbox Code Playgroud)

我想做的是set_score()每当保存评论对象时调用项目对象。这是原子的吗?我绝对希望整个事情是原子的,因为保存评论但项目总分未更新的情况会导致错误。

django django-signals

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