将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
我正在使用Django 2.0和Django 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) 我正在使用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) 我有一个要求,应用程序的管理员创建用户帐户。
创建用户帐户后,将向用户发送一封电子邮件。在这封电子邮件中,向用户提供了一个超链接。当他/她点击此链接时,将采取以下操作 -
谢谢。
尝试使用 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 2.x和Django 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 2.2和Django 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 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)
我想访问关联的ColorLabels和title字段value或NoteLabel对象。
因为它们是一对一的字段。我尝试做
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) 我正在 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 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 | …