小编Anu*_*TBE的帖子

生产构建错误:索引 html 生成失败

Angular 10项目升级到Angular 12。但是现在在运行生产构建时,它给出了错误

索引 HTML 生成失败。
未定义:6:720366 缺少 '}'

ng build --configuration production --aot
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

很难找到错误,因为它指向生成的 HTML 文件。节点日志不会做太多事情。

的内容 index.html

<!doctype html>
<html lang="en">

<head>
    <title>Quiz - Admin</title>
    <base href="/">
    <meta charset="utf-8">
</head>

<body>

<app></app>

</body>

</html>
Run Code Online (Sandbox Code Playgroud)

在运行开发构建时,本地不报错,甚至ng build成功完成

请在此处检查构建管道:https : //github.com/anuj9196/quiz-app/runs/2589355739?check_suite_focus= true#step:7: 56

build angular angular12

18
推荐指数
1
解决办法
4447
查看次数

Django REST框架 - 将额外参数传递给操作

我正在使用Django 2.0Django REST Framework

我已经创建了一个从数据库中删除特定对象的操作方法

联系人/ views.py

class ContactViewSet(viewsets.ModelViewSet):
    serializer_class = ContactSerializer
    permission_classes = (IsAuthenticated, AdminAuthenticationPermission,)

    # others actions goes here

    @action(methods=['delete'], detail=False, url_path='delete_phone/<phone_pk>/')
    def delete_phone(self, request, pk=None):
        contact = self.get_object()
        print(contact)
        print(pk)
        print(self.kwargs['phone_pk'])
        return Response({'status': 'success'})
Run Code Online (Sandbox Code Playgroud)

应用程序/ urls.py

router.register(r'contacts', ContactViewSet, 'contacts')

api_urlpatterns = [
    path('', include(router.urls)),
]
Run Code Online (Sandbox Code Playgroud)

但当我访问

DELETE: http://url/api/contacts/delete_phone/1/
Run Code Online (Sandbox Code Playgroud)

它给出了page not found错误.

在错误页面中,列出了已尝试的网址模式

api/ ^contacts/delete_phone/<phone_pk>//$ [name='contacts-delete-phone']
api/ ^contacts/delete_phone/<phone_pk>\.(?P<format>[a-z0-9]+)/?$ [name='contacts-delete-phone']
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

12
推荐指数
2
解决办法
5633
查看次数

在加载第一个组件之前在 Angular 中显示一个预加载器

我正在使用Angular 6

我的应用程序在加载组件之前需要几秒钟的时间,而这些时间用于加载资源和验证用户。

当所有这些发生时,我的应用程序显示一个空白页面。

我想用一个预加载器替换那个丑陋的白页,该预加载器将在所有后台进程完成之前一直显示。

对于我添加了一个CSS加载微调里面index.html

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>My App</title>
  <base href="/">

  <!-- Fonts and icons -->

</head>
<body>
  <app-root>
    <!-- Pre-loading spinner -->
    <!-- This code within the app-root will be wiped of once the child component is loaded -->
    <!-- This code will not even be shown in the source code once the child component is loaded -->
    <!-- We can put any code css/html/image/etc …
Run Code Online (Sandbox Code Playgroud)

angular angular6

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

有没有办法通过 flutter 和 dart 来识别我的 android/ios 设备中安装了特定的应用程序?

我有一个要求,应用程序的管理员创建用户帐户。

创建用户帐户后,将向用户发送一封电子邮件。在这封电子邮件中,向用户提供了一个超链接。当他/她点击此链接时,将采取以下操作 -

  1. 识别设备上是否安装了请求的应用程序。
  2. 如果已安装,则重定向到应用程序的密码设置屏幕。
  3. 如果未安装,则将用户重定向到 Play 商店/App Store 以下载所需的应用程序。下载完成后重定向到密码设置屏幕。

谢谢。

dart flutter

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

Postgresql docker:SCRAM 身份验证需要 libpq 版本 10 或更高版本

尝试使用 docker-compose 将 PostgreSQL 14 与 Django 结合使用

version: '3.7'

services:

  web:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: dev__app
    image: backend-dev
    command: ["/scripts/docker/wait_for_it.sh", "database:5432", "--", "/scripts/docker/docker_start.sh"]
    volumes:
      # Make /src directory editable which updates django app when code is changed
      - ./src:/app
    depends_on:
      - database
    env_file:
      - .env
    environment:
      - DATABASE={'ENGINE':'django.db.backends.postgresql','NAME':'app_dev','USER':'app_dev','PASSWORD':'app_dev','HOST':'database','PORT':'5432'}
      - CELERY_BROKER_URL=amqp://rabbitmq
    ports:
      - "8000:8000"
    restart: on-failure

  # database service
  database:
    image: postgres:14
    container_name: app_db
    environment:
      POSTGRES_PASSWORD: app_dev
      POSTGRES_USER: app_dev
      POSTGRES_DB: app_dev
      POSTGRES_HOST_AUTH_METHOD: md5
      POSTGRES_INITDB_ARGS: "--auth-host=md5"
    volumes:
      - app_database:/var/lib/postgresql/data …
Run Code Online (Sandbox Code Playgroud)

django postgresql docker

10
推荐指数
0
解决办法
5423
查看次数

无效数据。需要字典,但在 Django Rest Framework 中使用序列化器字段出现 str 错误

我正在使用Django 2.xDjango REST Framework

我有两个模型,比如

class Contact(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    user = models.ForeignKey(User, on_delete=models.PROTECT)
    first_name = models.CharField(max_length=100)
    last_name = models.CharField(max_length=100, blank=True, null=True)
    modified = models.DateTimeField(auto_now=True)
    created = models.DateTimeField(auto_now_add=True)

class AmountGiven(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    contact = models.ForeignKey(Contact, on_delete=models.PROTECT)
    amount = models.FloatField(help_text='Amount given to the contact')
    given_date = models.DateField(default=timezone.now)
    created = models.DateTimeField(auto_now=True)
Run Code Online (Sandbox Code Playgroud)

serializer.py文件已串行定义为

class ContactSerializer(serializers.HyperlinkedModelSerializer):

    class Meta:
        model = Contact
        fields = ('id', 'first_name', 'last_name', 'created', 'modified')

class AmountGivenSerializer(serializers.ModelSerializer):
    contact = ContactSerializer() …
Run Code Online (Sandbox Code Playgroud)

django django-serializer django-rest-framework

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

在 Django REST Framework 中的 CreateAPIView 中的 create() 之后返回不同的序列化程序

我正在使用Django 2.2Django REST Framework

我必须为同一个模型序列化。

class OrderListSerializer(serializers.ModelSerializer):
    plan = PlanBaseSerializer(read_only=True, many=False)

    class Meta:
        model = Order
        fields = [
            'id', 'name', 'plan', 'pricing',
            'created', 'completed',
        ]


class OrderCreateSerializer(serializers.ModelSerializer):
    plan_pricing = serializers.IntegerField(required=True, write_only=True)

    class Meta:
        model = Order
        fields = [
            'plan_pricing'
        ]

    def create(self, validated_data):
        plan_pricing_ = validated_data.pop('plan_pricing', None)
        try:
            plan_pricing = PlanPricing.objects.get(pk=plan_pricing_)
        except PlanPricing.DoesNotExists:
            raise ValidationError('Plan pricing not available')

        validated_data['plan'] = plan_pricing.plan
        validated_data['amount'] = plan_pricing.price

        return super().create(validated_data)
Run Code Online (Sandbox Code Playgroud)

OrderListSerializerserializer 用于列出订单或订单详细信息视图,OrderCreateSerializer用于创建新的订单实例。

观点是

class CreateOrderView(generics.CreateAPIView): …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

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

如何在Django中获取`OneToOneField()`的关联数据?

我工作于Django 2.0

我有一个Note用于保存笔记的模型,还有另外两个模型用于向笔记添加颜色标签。

class Note(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=250, blank=True, default='Untitled')
    content = models.TextField(blank=True)

class ColorLabels(models.Model):
    title = models.CharField(max_length=100, unique=True)
    value = models.CharField(max_length=100)
    default = models.BooleanField(default=False)

class NoteLabel(models.Model):
    note = models.OneToOneField(Note, on_delete=models.CASCADE)
    color_label = models.OneToOneField(ColorLabels, on_delete=models.CASCADE)
Run Code Online (Sandbox Code Playgroud)

与对象Note

note = Note.objects.get(pk=1)
Run Code Online (Sandbox Code Playgroud)

我想访问关联的ColorLabelstitle字段valueNoteLabel对象。

因为它们是一对一的字段。我尝试做

note.note_label
note.NoteLabel
note.note_label_set
Run Code Online (Sandbox Code Playgroud)

但所有返回错误为

AttributeError: 'Note' object has no attribute 'note_label_set'
Run Code Online (Sandbox Code Playgroud)

python django django-models one-to-one associated-object

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

django STATICFILES_DIRS 设置不应包含 STATIC_ROOT 设置

我正在 heroku 上部署一个 Django 应用程序。

在我的设置模块中,我已配置为托管静态文件,例如

STATIC_ROOT = os.path.join(BASE_DIR, 'static_my_project')
STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static_my_project')
]

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static_cdn', 'media_root')
Run Code Online (Sandbox Code Playgroud)

urls.py

urlpatterns = urlpatterns + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns = urlpatterns + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)

但是在部署到heroku时,它给出了错误

SystemCheckError: System check identified some issues:

ERRORS:
?: (staticfiles.E002) The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting.
Run Code Online (Sandbox Code Playgroud)

django django-settings django-staticfiles

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

使用 Docker、nginx 和 gunicorn 为 Django 静态文件提供服务

我正在为我们设置一个Django 2.0带有Docker,nginx和的应用程序gunicorn

它正在运行服务器,但静态文件不起作用。

这是settings.py内容

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static_my_project')
]

STATIC_ROOT = os.path.join(BASE_DIR, 'static_cdn', 'static_root')
Run Code Online (Sandbox Code Playgroud)

在开发时,我把我的静态文件放在里面static_my_project,运行collectstatic副本到static_cdn/static_root

目录结构就像

app
 |- myapp
    |- settings.py
 |- static_my_project
 |- static_cdn
    |- static_root
 |- config
    |- nginx
       |- nginx.conf
 |- manage.py
 |- Docker
 |- docker-compose.yml
Run Code Online (Sandbox Code Playgroud)

跑步时

docker-compose up --build
Run Code Online (Sandbox Code Playgroud)

在运行时collectstatic,它给出了静态文件将被复制的路径

koober-dev | --: 运行 collectstatic
koober-dev |
koober-dev | 您已请求在目的地
myapp-dev |收集静态文件 设置中指定的位置:
myapp-dev | …

django nginx docker

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