小编Wei*_*eit的帖子

未捕获(承诺):错误:无法读取未定义的属性

组件使用params服务用户

@Component({
    selector: 'users',
    providers: [UserService],
    template: `
    <p>{{user.id}}</p>
`
})
export class UserPageComponent implements OnInit  {
    constructor(
        private userService: UserService,
        private route: ActivatedRoute
    ) {};

    ngOnInit(): void {
        this.route.params.forEach((params: Params) => {
            let id = +params['id'];
            this.userService.getUser(id)
                .then(user => {console.log(user.id);this.user = user})
        });
    }
Run Code Online (Sandbox Code Playgroud)

服务:

@Injectable()
export class UserService {
    private postUrl = 'http://127.0.0.1:8000/user-detail/';  // URL to web api
    constructor(private http: Http) {
    }

    getUser(id: number): Promise<User> {

        return this.http.get(this.postUrl+id)
            .toPromise()
            .then(response => response.json() as User)
            .catch(this.handleError);

    };
Run Code Online (Sandbox Code Playgroud)

我得到错误 …

javascript angular

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

DjangoRest序列化器返回空对象

当我尝试序列化某些对象时,我得到了空对象。产品。对象有对象

模型

class Product (models.Model):
   id = models.AutoField(primary_key=True) 
   name = models.CharField(max_length=100, blank=True, default='')
   price = models.IntegerField()
   count_of_flowers = models.IntegerField()
   type = models.ForeignKey('Type')
   box_type = models.ForeignKey('Box', blank=True)
   flowers_color = models.CharField(max_length=100, blank=True, default='')

class Type(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=100, blank=True, default='')

class Box(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=100, blank=True, default='')
Run Code Online (Sandbox Code Playgroud)

序列化器

from rest_framework import serializers
from models import Product, Type, Box

class BoxSerializer(serializers.Serializer):
    class Meta: 
        model = Box
        field = ('name')

class TypeSerializer(serializers.Serializer):
    class Meta: 
        model = Type
        field …
Run Code Online (Sandbox Code Playgroud)

python django serialization django-rest-framework

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

如何使用邮递员从Django Rest Framework获取令牌

我尝试像Django Rest Framework文档中那样获取令牌

from rest_framework.authtoken import views
urlpatterns = [
    url(r'^api-token-auth/', views.obtain_auth_token),
]
Run Code Online (Sandbox Code Playgroud)

内部models.py

@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_auth_token(sender, instance=None, created=False, **kwargs):
    if created:
        Token.objects.create(user=instance)
Run Code Online (Sandbox Code Playgroud)

但它总是回到我身边

  {
  "username": [
    "This field is required."
  ],
  "password": [
    "This field is required."
  ]
}
Run Code Online (Sandbox Code Playgroud)

邮递员窗口

python django http django-rest-framework postman

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

电子邮件确认错误rest-auth

我使用标准表格作为确认电子邮件:从allauth.account.views导入Confirm_email作为allauthemailconfirmation

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^rest-auth/', include('rest_auth.urls')),
    url(r'^accounts/', include('allauth.urls')),
    url(r'^rest-auth/registration/account-confirm-email/(?P<key>\w+)/$', allauthemailconfirmation, name="account_confirm_email"),    
    url(r'^rest-auth/registration/', include('rest_auth.registration.urls')),

]
Run Code Online (Sandbox Code Playgroud)

设定:

LOGIN_REDIRECT_URL='/'
ACCOUNT_EMAIL_VERIFICATION='mandatory'
ACCOUNT_CONFIRM_EMAIL_ON_GET=False
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = True
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = False
Run Code Online (Sandbox Code Playgroud)

我正确地收到了一封电子邮件,但是当您尝试链接时:

ImproperlyConfigured at /rest-auth/registration/account-confirm-email/MTU:1bn1OD:dQ_mCYi6Zpr8h2aKS9J9BvNdDjA/
TemplateResponseMixin requires either a definition of 'template_name' or an implementation of 'get_template_names()'
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework django-allauth django-rest-auth

0
推荐指数
1
解决办法
1701
查看次数