小编Çağ*_*rın的帖子

django 1.9和registration/login.html

我正在研究django 1.9项目.

使用Django 1.7.7,登录功能正常,但现在我一直有: registration/login.html : Template Does Not Exist

模板login.html,logout.html出现在'webgui/template/registration /'中,我没有修改它们.

这里有一些我的settings.py:

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

MIDDLEWARE_CLASSES = [
'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',
]

ROOT_URLCONF = 'project.urls'

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [],
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
        ],
    },
},
]

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': os.path.join(BASE_DIR, 'NCIS.db'),
}
}

STATIC_URL = '/static/'
LOGIN_REDIRECT_URL = '/login/'

LOGOUT_URL …
Run Code Online (Sandbox Code Playgroud)

python django login

12
推荐指数
3
解决办法
1万
查看次数

带有 ingress-nginx 的 kubernetes 中的 Django 不提供静态文件

我是 Kubernetes 的新手,这是我使用它的第一个项目。

我想要做的基本上就是这个。我有一个 Django 应用程序和一个 React 应用程序。我想使用 kubernetes 自己的入口 nginx 库 (kubernetes/ingress-nginx) 使用单个 ingress-nginx 为它们提供服务,React 应用程序在 root 中提供服务,而 Django 在“/api”根中提供服务。我在 Django 设置中定义了 FORCE_SCRIPT_NAME。

同样对于静态文件,我创建了一个单独的持久卷声明并将其安装在 Django 部署文件中。但是当我点击 Django 的管理页面时,不提供静态文件。并且媒体文件也在 api/api/media... 路径中提供,该路径具有额外的 api。在 Kubernetes 中提供静态文件的正确方法是什么?我不想使用像 S3 这样的在线静态根。这是我的 Django 部署 yaml。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: django
  labels:
    deployment: django
spec:
  replicas: 1
  selector:
    matchLabels:
      pod: django
  template:
    metadata:
      labels:
        pod: django
    spec:
      volumes:
        - name: django-configmap-volume
          configMap:
            name: django-configmap
        - name: static-volume
          persistentVolumeClaim:
            claimName: static-volume
        - name: media-volume
          persistentVolumeClaim:
            claimName: …
Run Code Online (Sandbox Code Playgroud)

django nginx kubernetes kubernetes-ingress nginx-ingress

7
推荐指数
1
解决办法
1156
查看次数

嵌套序列化程序中的当前用户

我在 Django 1.9.1 中使用 Django Rest Framework 3.3.2 我有 2 个序列化程序,我在另一个序列化程序中使用其中一个。

class VideoSerializer(serializers.ModelSerializer):
current_username = serializers.SerializerMethodField()
is_deletable = serializers.SerializerMethodField()
tagged_users = EachUserSerializer(many=True, read_only=True)
print current_username
comments = CommentSerializer(many=True, read_only=True, context={'current_username': current_username})
place_taken = PlaceLimitedSerializer()
owner_user = EachUserSerializer()

class Meta:
    model = Video
    fields = ('tagged_users', 'comments', 'place_taken', 'video_id', 'video_url', 'like_count', 'caption', 'date',
              'category', 'owner_user', 'current_username', 'is_deletable', )

def get_current_username(self, obj):
    self.current_username = self.context['request'].user.username
    return self.context['request'].user.username

def get_is_deletable(self, obj):

    return obj.is_deletable_by(self.current_username)



class CommentSerializer(serializers.ModelSerializer):
current_username = serializers.SerializerMethodField()
is_deletable = serializers.SerializerMethodField()
is_editable = …
Run Code Online (Sandbox Code Playgroud)

django serialization django-rest-framework

5
推荐指数
1
解决办法
831
查看次数

如何在 AWS Elastic Beanstalk 上运行 celery worker?

版本:

  • Django 1.9.8
  • 芹菜 3.1.23
  • django 芹菜 3.1.17
  • 蟒蛇 2.7

我正在尝试在 AWS Elastic Beanstalk 上运行我的 celery worker。我使用 Amazon SQS 作为 celery 代理。

这是我的settings.py

INSTALLED_APPS += ('djcelery',)
import djcelery
djcelery.setup_loader()
BROKER_URL = "sqs://%s:%s@" % (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY.replace('/', '%2F'))
Run Code Online (Sandbox Code Playgroud)

当我在终端上输入下面的行时,它会在我的本地启动工作人员。此外,我创建了一些任务并且它们被正确执行。如何在 AWS EB 上执行此操作?

python manage.py celery worker --loglevel=INFO
Run Code Online (Sandbox Code Playgroud)

我在 StackOverflow 上发现了这个问题。它说我应该在部署后执行脚本的 .ebextensions 文件夹中添加一个 celery 配置。但它不起作用。我很感激任何帮助。安装主管后,我没有做任何事情。也许这就是我所缺少的。这是脚本。

files:
  "/opt/elasticbeanstalk/hooks/appdeploy/post/run_supervised_celeryd.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/usr/bin/env bash

      # Get django environment variables
      celeryenv=`cat /opt/python/current/env | tr '\n' ',' | sed 's/export …
Run Code Online (Sandbox Code Playgroud)

django amazon-web-services django-celery amazon-elastic-beanstalk

5
推荐指数
1
解决办法
6191
查看次数

Django如何从ManyToManyField进行序列化并列出全部

我正在使用Django 1.9.1开发移动应用程序后端,我实现了关注者模型,现在我想列出用户的所有关注者,但是我目前仍坚持这样做。我也使用Django Rest Framework。

这是我的UserProfile模型

class UserProfile(models.Model):
    # Linking UserProfile to User model.
    user = models.OneToOneField(User)
    city = models.CharField(null=True, max_length=30, blank=True)
    gender = models.CharField(null=True, max_length=10, blank=True) # m for male, f for female
    # TODO: Fix the picture later.
    #  picture = models.ImageField(upload_to='profile_images', blank=True)
    age = models.IntegerField(null=True, blank=True)
    caption = models.CharField(null=True, max_length=40, blank=True)
    following_count = models.IntegerField(default=0)
    follower_count = models.IntegerField(default=0)
    post_count = models.IntegerField(default=0)
    like_count = models.IntegerField(default=0)
    date = models.DateTimeField(default=datetime.now(), blank=True)
    is_protected = models.BooleanField(default=False)
    is_facebook_created_user = models.BooleanField(default=False)
    facebook_id = models.CharField(default='', blank=True, max_length=350) …
Run Code Online (Sandbox Code Playgroud)

python django many-to-many serializer django-rest-framework

3
推荐指数
1
解决办法
5578
查看次数

Django Rest Framework 的分页小于页面大小

我在使用 Django Rest Framework 的 Pagination 类时遇到了问题。

版本:

  • Django 1.9.2
  • Django Rest 框架 3.3.2

这是我的自定义分页类。

分页.py:

from rest_framework import pagination
class VideoPagination(pagination.PageNumberPagination):
    page_size = 10
    page_size_query_param = 'page'
    max_page_size = 10000
Run Code Online (Sandbox Code Playgroud)

设置.py:

REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS': ('rest_framework.pagination.PageNumberPagination',),
    'PAGE_SIZE': 10,
}
Run Code Online (Sandbox Code Playgroud)

在我的 views.py 中,我有一个 ListAPIView 列出所有视频模型,它使用我的自定义分页器。

视图.py:

class explore(ListAPIView):
    serializer_class = ExploreVideoSerializer
    pagination_class = VideoPagination

    def get_queryset(self):
        category = self.kwargs['category']
        if category == 'all':
            return Video.objects.all().order_by('-date')
        else:
            return Video.objects.filter(category=category).order_by('-date')

    def get_serializer_context(self):
        return {"request": self.request}
Run Code Online (Sandbox Code Playgroud)

问题是,当我向这个视图发出请求时,在第一页它给出了我想要的 10 个项目。然后在第二页和第三页上,它给出了不到 10 个项目。

例如,有 16 …

python django pagination django-rest-framework

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