小编Joh*_*eer的帖子

ASP.NET MVC5未为请求的URL配置Web服务器,并且未在服务器上启用目录浏览

我从MVC5应用程序加载页面时遇到问题。

我已安装并使用此软件:

  • Windows 10
  • Visual Studio企业版2015
  • Microsoft IIS 10.0 Express
  • 具有实体框架的MVC 5

到目前为止,一切正常,我可以显示该网站。创建一个模型之后,然后使用实体框架的控制器,我收到了此错误消息。

HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.

Most likely causes:

    A default document is not configured for the requested URL, and directory browsing is not enabled on the server.


Things you can try:

    If you do not want to enable directory browsing, ensure that a default document is configured and that the file exists.
    Enable directory …
Run Code Online (Sandbox Code Playgroud)

c# iis asp.net-mvc

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

在 Django Admin 中捕获 IntegrityError

使用 Django 1.4

当用户输入重复值时,我想捕获完整性错误。此时应用程序只显示默认的 Django 错误页面。(调试 = 真)

模型

class Foo(models.Model):
    name = models.Charfield(max_length=100, unique=True)
    identifier = models.CharField(max_length=100, unique=True)
    parent = models.ForeignKey("self", related_name="children")
    bar = models.ForeignKey(Bar, related_name="foos")
Run Code Online (Sandbox Code Playgroud)

行政

from django.core.exceptions import ValidationError
from django.db import IntegrityError

class FooAdmin(admin.ModelAdmin):
    form = FooForm

    search_fields = ['name']
    list_display = ['name']

    def save_model(self, request, obj, form, change):
        try:
            obj.save()
        except IntegrityError as e:
            raise ValidationError(e)
Run Code Online (Sandbox Code Playgroud)

形式

class FooForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(FooForm, self).__init__(*args, **kwargs)

        if self.instance.pk:
            self.fields["parent"].queryset = Foo.objects.filter(bar=self.instance.bar)

    def clean(self):
        bar_identifier = …
Run Code Online (Sandbox Code Playgroud)

python django django-admin

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

使用pip安装后找不到cookiecutter命令

我想使用cookiecutter来启动一个django项目但由于某种原因无法找到cookiecutter.

我做的是:

pip install cookiecutter
Run Code Online (Sandbox Code Playgroud)

之后:

cookiecutter https://github.com/pydanny/cookiecutter-django
Run Code Online (Sandbox Code Playgroud)

然后我收到错误消息:

    The program 'cookiecutter' is currently not installed. You can install it by typing:
    sudo apt install cookiecutter
Run Code Online (Sandbox Code Playgroud)

但是,当我使用apt安装cookiecutter并运行时cookiecutter https://github.com/pydanny/cookiecutter-django出现错误.

Traceback (most recent call last):
  File "/usr/bin/cookiecutter", line 9, in <module>
    load_entry_point('cookiecutter==1.3.0', 'console_scripts', 'cookiecutter')()
  File "/usr/lib/python2.7/dist-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python2.7/dist-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python2.7/dist-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs) …
Run Code Online (Sandbox Code Playgroud)

python django cookiecutter-django

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

Django 中产品目录的最佳实践

我正在开发一个目录应用程序,用于在 Django 中存储产品信息。

这里的挑战是目录中有很多产品,每种产品都有自己的属性。由于这是应用程序的关键部分,并且将围绕它构建很多内容,因此我希望将其设计得尽可能好。

我知道 Django 中有多种处理此问题的选项,但我想知道其他人对这几种选项的体验。

第一种选择:单一抽象类

我可以创建一个包含所有基本属性的抽象类,并让其他类从该类派生。

class Product(models.Model):
    name = models.CharField(max_length=100)
    description = models.TextField(max_length=1000)
    price = models.DecimalField()

    class Meta:
        abstract = True

class Phone(Product):
    series = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)

这将是最简单的选择,但这将包括 Django 表单和视图中的大量工作。
这还将为每个 Product 子类创建一个表,因此当 Product 类更改时,所有其他表也必须更改。

第二个选项:产品基类

这里的 Product 类不是抽象的,这意味着也可以使用该类。

class Product(models.Model):
    name = models.CharField(max_length=100)
    description = models.TextField(max_length=1000)
    price = models.DecimalField()

class Phone(Product):
    series = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)

这也非常简单,但这仍然意味着表单和视图中的大量工作。
这将首先为 Product 类创建一个表,然后为每个 Product 子类创建一个表。

前两个选项也将打破 DRY 原则,因为必须将属性添加到每个 Product 子类中,这些子类可能对某些类(但不是所有类)通用。

第三个选项:包含所有可能属性的产品类。

class Product(models.Model):
    name = models.CharField(max_length=100)
    description = models.TextField(max_length=1000)
    price = …
Run Code Online (Sandbox Code Playgroud)

python django database-design

5
推荐指数
0
解决办法
1785
查看次数

使用 BeEquivalentTo 时,我可以告诉 FluentAssertions 忽略 Equals 方法吗

我有一个简单的类,它有两个属性并覆盖了 Equals 方法:

public class Person : IEquatable<Person>
{
    public Guid Id { get; set; }

    public string Name { get; set; }

    public override bool Equals(object obj)
    {
        return this.Equals(obj as Person);
    }

    public bool Equals(Person other)
    {
        return other != null &&
            this.Id.Equals(other.Id);
    }

    public override int GetHashCode()
    {
        return 2108858624 + EqualityComparer<Guid>.Default.GetHashCode(this.Id);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我创建了一个简单的测试,其中的Id值相同,但Name值不同。

[Fact]
public void PersonShouldNotBeEqual()
{
    var guid = Guid.NewGuid();

    var p1 = new Person { Id = guid, …
Run Code Online (Sandbox Code Playgroud)

c# fluent-assertions

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

如何使用 Python docutils 创建简单的 html 标签

我正在为 Pelican 开发一个库,目前我正在使用 reStructuredText 和 docutils。

我想做的是创建一个应该输出 html 的自定义指令。

我要输出的html是:

<div class="row">
  <div class="col-md-6">
    <div class="card">
      <div class="card-header">
        <h4 class="card-title">Regular header</h4>
        <p class="category">Category subtitle</p>
      </div>
      <div class="card-body">
        The place is close to Barceloneta Beach and bus stop just 2 min by walk and near to "Naviglio" where you can enjoy the main night life in Barcelona...
      </div>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

到目前为止我创建了这个Python代码

from docutils import nodes
from docutils.parsers.rst import Directive
from pelican.rstdirectives import directives

class Row(Directive):
    required_arguments = 0
    optional_arguments = …
Run Code Online (Sandbox Code Playgroud)

python docutils pelican

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

如何在 appsettings.json 中配置 Serilog.Exceptions.SqlServer

我正在使用 appsettings.json 来配置 Serilog。我补充说Serilog.Exceptions,这就像一个魅力。

"Serilog": {
    "Using": [ "Serilog.Sinks.Console", "Serilog.Settings.Configuration", "Serilog.Exceptions" ],
    "MinimumLevel": {
        "Default": "Information",
        "Override": {
            "Microsoft": "Warning",
            "System": "Warning"
        }
    },
    "WriteTo": [
        { "Name": "Console" },
        {
            "Name": "File",
            "Args": {
                "path": "%TEMP%\\Logs\\serilog-configuration-sample.txt",
                "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception} {Properties:j}",
                "rollingInterval": "Day"
            }
        }
    ],
    "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId", "WithExceptionDetails" ]
}
Run Code Online (Sandbox Code Playgroud)

但是由于我使用的是 Sql Server 和 EF Core,文档说我还必须配置Serilog.Exceptions.SqlServerSerilog.Exceptions.EntityFrameworkCore.

根据此文档,必须将其添加到浓缩器中。在 C# 代码中,这将是:

.Enrich.WithExceptionDetails(new DestructuringOptionsBuilder()
    .WithDefaultDestructurers()
    .WithDestructurers(new[] { new …
Run Code Online (Sandbox Code Playgroud)

serilog serilog-exceptions

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

断言列表中字段的唯一性

我在C#中创建了一个列表,我想做一个测试,看看Id字段的所有值是否都是唯一的.

public static List<RestaurantReview> _reviews = new List<RestaurantReview>
{
    new RestaurantReview
    {
        Id = 1,
        Name = "McDonalds",
    },
    new RestaurantReview
    {
        Id = 2,
        Name = "Burger King",
    },
}
Run Code Online (Sandbox Code Playgroud)

因为我做了一些调试,我发现它正在通过列表运行,但我没有得到正确的测试值.有人可以解释我在这里做错了什么吗?

[TestMethod()]
public void CheckReviewIds()
{
    var FirstReview = ReviewsController._reviews.First();
    bool AllUniqueIds = ReviewsController._reviews.All(s => s.Id == FirstReview.Id);

    Assert.IsFalse(AllUniqueIds);

}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

c# unit-testing assert list

4
推荐指数
2
解决办法
377
查看次数

Django检查数据库中是否存在值,如果不存在则创建并保存

我需要检查数据库中是否已经存在一个值,如果已经存在,我可以使用该值,否则我必须创建这些值,将它们保存到数据库中并显示在屏幕上。

def currency_rates(request):
    currency_pairs_values = []
    currency_pairs = CurrencyPair.objects.filter(default_show__exact=True)
    for currency_pair in currency_pairs:
        if not CurrencyPairHistory.objects.get(currency_pair__exact=currency_pair,
                                               date__exact=datetime.now().date()).exists():
            currency_pair_history_value = CurrencyPairHistory()
            currency_pair_history_value.currency_pair = currency_pair
            currency_pair_history_value.currency_pair_rate = currency_pair.calculate_currency_pair(
                datetime.now().date())
            currency_pair_history_value.date = datetime.now().date()
            currency_pair_history_value.save()
            currency_pairs_values.append(currency_pair_history_value)
        else:
            currency_pairs_values.append(CurrencyPairHistory.objects.get(currency_pair__exact=currency_pair,
                                                                         date__exact=datetime.now().date()).exists())

    context = {
        'currency_pairs_values': currency_pairs_values
    }

    return render(request, '../templates/client/currencypairs.html', context)
Run Code Online (Sandbox Code Playgroud)

exists()从以下链接获得了使用该方法的想法:如何使用django检查postgresql数据库中是否存在某些内容? 使用此代码时出现错误DoesNotExist at /currencypairs/

这是完整的堆栈跟踪

Environment:


Request Method: GET
Request URL: http://127.0.0.1:8000/currencypairs/

Django Version: 1.8.6
Python Version: 3.4.3
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'client']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware', …
Run Code Online (Sandbox Code Playgroud)

python database sqlite django

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

如何在Java中的Comparator类中使用lambda表达式

我是Java的新手,现在我必须创建一些Comparator类.

在这个Stackoverflow页面上,我发现了一些关于使用lambda表达式的非常有用的信息.如何通过多个字段比较对象

这让我有关创建这样的Compartor类的事情:

public class WidthComparator implements Comparator{
    @Override
    public int compare(Object t, Object t1) {
        Foto foto1 = (Foto)t;
        Foto foto2 = (Foto)t1;

        return Comparator.comparing(Foto::getWidth)
               .thenComparing(Foto::getHeight)
               .thenComparingInt(Foto::getName);
        }
    }    
}
Run Code Online (Sandbox Code Playgroud)

所以当我有一个名为fotosCollection的集合时,我希望能够这样做:

fotosCollection.sort(new HoogteComparator());
Run Code Online (Sandbox Code Playgroud)

这显然不起作用,但我怎么能让它工作?

PS.我必须使用Comparator类.

java lambda comparator java-8

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