小编Thi*_*ker的帖子

Angular2 typescript如何获取要在模板中显示的对象属性

我正在学习angular2和打字稿,并想知道为什么我无法访问模板中对象的属性值.

我的组件:

export class Farm{

    data:JSON;
    id: any;

    constructor(private nextService: NextService, navParams: NavParams){
        this.id = navParams.get("param1");

    }

    getFarmDetails(){

        this.data = this.nextService.fetchData(this.id)
        console.log(this.data)
    }
}
Run Code Online (Sandbox Code Playgroud)

console.log(this.data)给我的地方 Object {id: 1, name: "Leanne Graham", username: "Bret", email: "Sincere@april.biz", address: Object…}

在我的模板中,我有

<div>
    {{data}}
</div>
Run Code Online (Sandbox Code Playgroud)

在我的屏幕上输出[object Object]

我怎样才能输出电子邮件或用户名等属性?

更新:如果我喜欢{{data.email}}我收到以下错误:

在此输入图像描述

typescript angular

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

具有Django Rest框架的领域驱动设计洋葱架构

我最近在阅读有关域驱动设计(DDD)的文章,我喜欢这个概念,尤其是Onion体系结构的构想(https://www.youtube.com/watch?v=pL9XeNjy_z4)。

我很想知道我们如何使用Django Rest Framework实现这种架构,或者换句话说,我们可以使用Onion arch风格的Django rest框架进行DDD吗?

  1. 是否可以将洋葱架构中的概念映射到DRF?
  2. 当像Apache isis(https://isis.apache.org/)之类的框架通过构建面向对象的UI来进行DDD时,用户可以直接与域实体进行交互,DRF可能怎么做?

作为示例,我以以下方式编写DRF代码:

在models.py中,我将定义模型:

class Library(models.Model):
    library_id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=30)
    ...

    #This helps to print in admin interface
    def __str__(self):
        return u"%s" % (self.name)
Run Code Online (Sandbox Code Playgroud)

在serializers.py中,我将使用模型序列化器:

class LibrarySerializer(serializers.ModelSerializer):
    class Meta:
        model = Library
        fields = '__all__'
Run Code Online (Sandbox Code Playgroud)

我将在urls.py中有相应的url:

router.register(r'libraries', LibraryViewSet)
Run Code Online (Sandbox Code Playgroud)

并在views.py中执行CRUD操作:

class LibraryViewSet(viewsets.ModelViewSet):
    queryset = Library.objects.all()
    serializer_class = LibrarySerializer
Run Code Online (Sandbox Code Playgroud)

这与DDD / Onion体系结构有什么关系(可能进行了适当的修改)?

django domain-driven-design onion-architecture django-rest-framework

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

Angular2 显示 base64 图像 ERR_INVALID_URL

在我的模板中:

<h5>Image upload</h5>
<input type="file" accept="image/*" (change)="changeListener($event)">
<div *ngIf="image">
    <img [src]="'data:image/jpg;base64,' +image | safeHtml">
</div>
Run Code Online (Sandbox Code Playgroud)

在我的控制器中:

image: string='';

changeListener($event) : void {
    this.readThis($event.target);
}

readThis(inputValue: any): void {

    var file:File = inputValue.files[0];
    var myReader:FileReader = new FileReader();

    myReader.onloadend = (e) => {
        this.image = myReader.result;
        console.log(this.image)
    }
    myReader.readAsDataURL(file);
}
Run Code Online (Sandbox Code Playgroud)

safeHtml 是一个管道:

@Pipe({name: 'safeHtml'})
export class SafeHtml {
  constructor(private sanitizer:DomSanitizer){}

  transform(html) {
    return this.sanitizer.bypassSecurityTrustResourceUrl(html);
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,上传图像后ERR_INVALID_URL出现错误。不过,我可以在我的开发人员控制台中看到 base64 字符串。出了什么问题?

angular

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

不支持关键字:'userid' 错误

我已经克隆了这个源代码(https://code.msdn.microsoft.com/Onion-Architecture-In-9c58c06d)。我正在使用 mysql 和我的连接字符串

  "ConnectionStrings": {
    "DefaultConnection": "server=localhost;userid=root;pwd=root;port=3306;database=ddd;sslmode=none;"
  },
Run Code Online (Sandbox Code Playgroud)

Add-Migration FirstMigration然而,在我的包管理器控制台命令成功了,Update-Database正在抛出我

System.ArgumentException: Keyword not supported: 'userid'.
   at System.Data.Common.DbConnectionOptions.ParseInternal(Dictionary`2 parsetable, String connectionString, Boolean buildChain, Dictionary`2 synonyms)
   at System.Data.Common.DbConnectionOptions..ctor(String connectionString, Dictionary`2 synonyms)
   at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
   at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous)
   at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions)
   at System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key)
   at System.Data.SqlClient.SqlConnection.set_ConnectionString(String value)
   at Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerConnection.CreateDbConnection()
   at Microsoft.EntityFrameworkCore.Internal.LazyRef`1.get_Value()
   at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
   at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String contextType)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<>c__DisplayClass0_1.<.ctor>b__0()
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Keyword not supported: 'userid'.
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?

asp.net-core-mvc .net-core asp.net-core

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

Django休息登记

我在我的django项目中使用Django-rest-auth(https://github.com/Tivix/django-rest-auth)进行登录和注册.我看到一个默认的注册表格如下:

在此输入图像描述

目前,我可以使用电子邮件而不是用户名注册新用户.我的MySql数据库中的默认auth_user表包含以下列:(id,password,last_login,is_superuser,username,first_name,last_name,email,is_staff,is_active,date_joined)

我的settings.py:

INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'rest_framework',
#Rest-auth
'rest_framework.authtoken',
'rest_auth',
#Rest-auth registration
'allauth',
'allauth.account',
'rest_auth.registration',
#Following is added to allow cross domain requests i.e. for serving requests those are coming from frontend app 
'corsheaders',
'flights',
)
Run Code Online (Sandbox Code Playgroud)

我想修改我的注册表单,使其具有上面字段的名字和姓氏,这样当我注册一个新用户时,这两列也会填充first_name和last_name.目前我没有其他注册视图或任何自定义用户模型,我只是使用django-rest-auth提供的API端点.

我怎样才能做到这一点?

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

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

Django Angular Cors错误:不允许访问控制允许起源

我已经使用django-rest-auth在django应用中实现了auth。我在settings.py中的设置:

ALLOWED_HOSTS = []

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'rest_framework.authtoken',
    'rest_auth',
    'django.contrib.sites',
    'allauth',
    'allauth.account',
    'rest_auth.registration',
    'corsheaders',
    'rest_framework_docs',
    'tasks'
]

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'urls'
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
ALLOWED_HOSTS = ['*']

SITE_ID = 1
Run Code Online (Sandbox Code Playgroud)

我是从前端登录的-我已收到令牌并将其存储在本地存储中。现在,我发出一个简单的GET请求,如下所示:

  getTasks(): Observable<Task[]> {

    let headers = new Headers({ 'Access-Control-Allow-Origin': '*' });
    let options = new RequestOptions({ headers: headers, withCredentials: true  });

    return this.http.get(this.taskUrl, options)
    .map(this.extractData) …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework django-rest-auth angular

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

react-table迭代对象数组以打印列中的值

我使用react-table生成表(https://react-table.js.org/#/story/readme).我的状态定义如下:

this.state = {

    sampleTable:[
        {author: 'Mac', books: [{title:'One', price: 20}, {title:'Two', price: 20}]},
        {author: 'Rick', books: [{title:'Three', price: 20}, {title:'Four', price: 20}]}
    ],

    sampleTableColumns:[
        {Header: 'Author', accessor: 'author'},
        {Header: 'Books', accessor: 'books.title'},
    ],
};
Run Code Online (Sandbox Code Playgroud)

我正在尝试制作如下表格:

<ReactTable
    className="-highlight"
    data={this.state.sampleTable}
    columns={this.state.sampleTableColumns}
    defaultPageSize={10}
/>
Run Code Online (Sandbox Code Playgroud)

然而在书籍专栏中,我什么也看不见.我不知道我应该如何迭代书籍数组,以便我可以在书籍专栏中打印出书名?

reactjs

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

Django rest ModelViewSet过滤对象

我有两个模型:图书馆和一本书。图书馆将有很多书。

class Library(models.Model):
    library_id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=30)
    city = models.CharField(max_length=30)
    address = models.CharField(max_length=80)
    phone = models.CharField(max_length=30, blank=True, null=True)
    website = models.CharField(max_length=60, blank=True, null=True)

class Book(models.Model):
    book_id = models.AutoField(primary_key=True)
    title = models.CharField(max_length=30)
    # A library has many books
    which_library = models.ForeignKey('Library', related_name='books', on_delete=models.CASCADE)
    reader = models.ManyToManyField('Reader', related_name='wishlist')
Run Code Online (Sandbox Code Playgroud)

我的序列化器:

class LibrarySerializer(serializers.ModelSerializer):
    class Meta:
        model = Library
        fields = '__all__'

class BookSerializer(serializers.ModelSerializer):

    wishlist = ReaderSerializer(many=True, read_only=True)

    class Meta:
        model = Book
        fields = '__all__'
Run Code Online (Sandbox Code Playgroud)

我的看法是:

class LibraryViewSet(viewsets.ModelViewSet):
    queryset = Library.objects.all()
    serializer_class …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

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

ASP.Net核心Web Api与EF核心更新实体howto

不是重复:我的Update()方法有两个争论:id和修改后的实体,提供给我的问题的答案有不同的方法CurrentValues,现有问题没有涉及.

我是ASP.Net核心开发的新手.我正在使用MySql作为数据库和Book模型构建一个简单的API.

我写了我的控制器如下:

[Route("api/[controller]")]
    public class BooksController : Controller
    {
        private readonly IBookRepository _books;
        public BooksController(IBookRepository books)
        {
            _books = books;
        }

        [HttpGet("")]
        public IActionResult GetAllBooks()
        {
            try
            {
                List<Book> books = _books.GetAllBooks();
                return Ok(books);
            }
            catch(EntityNotFoundException<Book>)
            {
                return NotFound();
            }

        }

        [HttpGet("{id}")]
        public IActionResult GetBook(long id)
        {
            Book book = _books.GetBook(id);
            if (book == null)
            {
                return NotFound();
            }
            return Ok(book);
        }

        [HttpPost]
        public IActionResult CreateBook([FromBody] Book book)
        {
            if (ModelState.IsValid == false)
            {
                return BadRequest(ModelState); …
Run Code Online (Sandbox Code Playgroud)

entity-framework-core asp.net-core-mvc asp.net-core

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

Angular2 迭代对象数组

我有一个如下所示的数组:

causes: any= [
{
    'Specification': {
        'Missing':false,
        'Unclear':false,
        'Wrong':false,
        'Changed':false,
        'Better Way':false,
    },
    'Design': {
        'Missing':false,
        'Unclear':false,
        'Wrong':false,
        'Changed':false,
        'Better Way':false,
    },
    'Code': {
        'Missing':false,
        'Unclear':false,
        'Wrong':false,
        'Changed':false,
        'Better Way':false,
    },
    'Documentation': {
        'Missing':false,
        'Unclear':false,
        'Wrong':false,
        'Changed':false,
        'Better Way':false,
    },
}]
Run Code Online (Sandbox Code Playgroud)

如何在我的模板中迭代它?我试过类似的东西:

<div class="mdl-grid">
    <div *ngFor=" let chunk of causes | chunks: 2; let j = index; " class="mdl-cell mdl-cell--4-col">
        <label *ngFor=" let cause of chunk| values " #checkbox class="mdl-checkbox mdl-js-checkbox">
            <input type="checkbox" name="causes" class="mdl-checkbox__input">
            <span class="mdl-checkbox__label">{{cause}}</span>
        </label>
    </div> …
Run Code Online (Sandbox Code Playgroud)

angular

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

Typescript - 数组到块

我有一个数组如下:

public taskListCustom: any=[
{title: 'Task 1', status: 'done'},
{title: 'Task 2', status: 'done'},
{title: 'Task 3', status: 'done'},
{title: 'Task 4', status: 'done'},
{title: 'Task 5', status: 'done'},
{title: 'Task 6', status: 'done'},
{title: 'Task 7', status: 'done'},
{title: 'Task 8', status: 'done'},
{title: 'Task 9', status: 'done'},
{title: 'Task 10', status: 'done'},
{title: 'Task 11', status: 'done'},
{title: 'Task 12', status: 'done'},
{title: 'Task 13', status: 'done'},
{title: 'Task 14', status: 'done'},
{title: 'Task 15', status: 'done'},
{title: …
Run Code Online (Sandbox Code Playgroud)

javascript typescript angular

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

angular2在不同的网格单元中填充ngFor

我有一个数组: hobbies=['Reading','Sport','Travelling','Movies','Cooking','Singing'];

现在我正在模板中手动填充它:

<div class="my-checkbox">
    <!-- Hobbies -->
    <span style="float: left; width: 100px;"><h5>Hobbies</h5></span>

    <div class="mdl-grid">
        <div class="mdl-cell mdl-cell--4-col">
            <label #checkbox_1 class="mdl-checkbox mdl-js-checkbox" for="checkbox-1">
                <input type="checkbox" id="checkbox-1" name="hobbies" value="sport" 
                class="mdl-checkbox__input" >
                <span class="mdl-checkbox__label">Sports</span>
            </label>
            <label #checkbox_2 class="mdl-checkbox mdl-js-checkbox" for="checkbox-2">
                <input type="checkbox" id="checkbox-2" name="hobbies" value="reading" class="mdl-checkbox__input">
                <span class="mdl-checkbox__label">Reading</span>
            </label>
        </div>
        <div class="mdl-cell mdl-cell--4-col">

            <label #checkbox_3 class="mdl-checkbox mdl-js-checkbox" for="checkbox-3">
                <input type="checkbox" id="checkbox-3" name="hobbies" value="singing"  
                class="mdl-checkbox__input">
                <span class="mdl-checkbox__label">Singing</span>
            </label>
            <label #checkbox_4 class="mdl-checkbox mdl-js-checkbox" for="checkbox-4">
                <input type="checkbox" id="checkbox-4" name="hobbies" value="travelling" 
                class="mdl-checkbox__input">
                <span class="mdl-checkbox__label">Travelling</span>
            </label>
        </div> …
Run Code Online (Sandbox Code Playgroud)

angular

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

使用 NLTK 提取名词和动词

我有 django rest 应用程序和一个模型任务。我对自然处理完全陌生,我想构建一个返回名词和动词列表的函数。它看起来像这样:

@api_view(['GET'])        
def noun_verb_list(request):

    nouns = []
    verbs = []
    """
    List all nouns and verbs from available tasks
    """
    if request.query_params.get('projectId'):
            # get a specific project 
            projectId = request.query_params.get('projectId')
            project = Project.objects.get(id=projectId)
            tasks = project.project_tasks.all()

            # extract nouns and verbs from tasks here


            return Response(# return appropriate nouns)
Run Code Online (Sandbox Code Playgroud)

有人可以帮我建立这个功能吗?导入什么和逻辑?

django nltk django-rest-framework

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