javascript

java

python

c#

android

node.js

c++

reactjs

php

html

jquery

css

.net

ios

git

ruby-on-rails

sql

c

string

ruby

单元测试-django-如何检测测试环境

这个问题看似简单,但不幸的是,要搜索它有点困难。

我的问题是:如何在视图内部检测视图是否在测试环境中被调用?

#pseudo_code
def my_view(request):
    if not request.is_secure() and not TEST_ENVIRONMENT:
        return HttpResponseForbidden()
trans by 2020-02-29T17:23:48Z

python-Django:在由.get()检索的单个模型实例上调用.update()?

我有一个当前调用Models.object.get()的函数,该函数返回0或1个模型对象。 如果返回0,则在该函数的2768791283866066010625子句中创建一个新的模型实例。 否则,我想在不创建新实例的情况下更新现有实例中的字段。 我最初试图在找到的实例上调用.update(),但是.update()似乎只能在QuerySet上调用。 我如何绕过十几个字段而不调用.filter()并比较长度来知道是否必须创建或更新现有实例?

trans by 2020-02-29T10:02:07Z

Django 1.8运行特定的迁移

在django 1.8中,有一种方法可以运行特定的迁移,并且仅运行该迁移。

不仅适用于一个应用程序,还适用于该应用程序迁移目录中的特定文件。

编辑原文:

    Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/vagrant/virtualenvs/aku/lib/python3.4/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/home/vagrant/virtualenvs/aku/lib/python3.4/site-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/vagrant/virtualenvs/aku/lib/python3.4/site-packages/django/core/management/base.py", line 393, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/vagrant/virtualenvs/aku/lib/python3.4/site-packages/django/core/management/base.py", line 444, in execute
    output = self.handle(*args, **options)
  File "/home/vagrant/virtualenvs/aku/lib/python3.4/site-packages/django/core/management/commands/migrate.py", line 146, in handle
    plan = executor.migration_plan(targets)
  File "/home/vagrant/virtualenvs/aku/lib/python3.4/site-packages/django/db/migrations/executor.py", line 50, in migration_plan
    self.loader.graph.node_map[target].children
KeyError: ('wagtailcore', '0001_initial')

做了一点搜索并找到了这个[https://code.djangoproject.com/ticket/24225#no1]

trans by 2020-02-22T19:07:13Z

我如何防止灯具与django post_save信号代码冲突?

在我的应用程序中,我想在新用户注册时在某些表中创建条目。 例如,我要创建一个用户个人资料,然后将参考他们的公司和一些其他记录。 我用post_save信号实现了这一点:

def callback_create_profile(sender, **kwargs):
    # check if we are creating a new User
    if kwargs.get('created', True):
        user = kwargs.get('instance')
        company = Company.objects.create(name="My Company")
        employee = Employee.objects.create(company=company, name_first=user.first_name, name_last=user.last_name)
        profile = UserProfile.objects.create(user=user, employee=employee, partner=partner)
# Register the callback
post_save.connect(callback_create_profile, sender=User, dispatch_uid="core.models")

运行时效果很好。 我可以使用admin创建一个新用户,其他三个表也可以获取有意义的条目。 (除非是雇员,因为保存时未在管理员表单中填写user.first_name和user.last_name。我仍然不明白为什么要这样做)

问题出在我运行测试套件时。 在此之前,我创建了一堆夹具以在表中创建这些条目。 现在我得到一个错误,指出:

IntegrityError: duplicate key value violates unique constraint "core_userprofile_user_id_key"

我认为这是因为我已经在设备中创建了ID为“ 1”的公司,员工和档案记录,现在post_save信号正在尝试重新创建它。

我的问题是:运行灯具时可以禁用此post_save信号吗? 我可以检测到我正在作为测试套件的一部分运行,而不创建这些记录吗? 我现在应该从固定装置中删除这些记录吗(尽管信号仅设置默认值,而不是我要测试的值)? 夹具加载代码为什么不仅仅覆盖创建的记录?

人们如何做到这一点?

trans by 2020-02-22T19:01:11Z

python-当form.is_valid()为false时如何访问数据

当我拥有有效的Django表单时,可以使用form.cleaned_data访问数据。 但是,当表单无效(即form.is_valid为false)时,如何获取用户输入的数据。

我正在尝试访问表单集中的表单,因此form.data似乎给我带来了麻烦。

trans by 2020-02-22T10:32:36Z

调试模块中的Django管道损坏

我在Nginx后面的远程服务器上有django 1.3。

如果我用apache + mod_wsgi运行django,我可以在apache日志文件中观察错误。 可以,但我想在控制台中使用。

如果运行django自己的开发服务器,则仅当DEBUG = False时,控制台中的stacktrace才会出现错误。 在调试模式下,控制台输出

Exception happened during processing of request from (..., ...)
Traceback (most recent call last):
  File "/usr/local/python/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/local/python/lib/python2.7/SocketServer.py", line 310, in process_request
    self.finish_request(request, client_address)
  File "/usr/local/python/lib/python2.7/SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/python/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 570, in __init__
    BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
  File "/usr/local/python/lib/python2.7/SocketServer.py", line 641, in __init__
    self.finish()
  File "/usr/local/python/lib/python2.7/SocketServer.py", line 694, in finish
    self.wfile.flush()
  File "/usr/local/python/lib/python2.7/socket.py", line 301, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe

我想弄清楚为什么? django为什么只输出未命名的Exception? 为什么它取决于DEBUG变量。

当我无权访问请求对象时,此错误通常发生在外部视图中。 因此,我无法在中间件或日志记录处理程序中捕获它。

更新。 我注意到如果我直接请求django服务器,我永远也不会遇到断管问题。 那么Nginx代理django可能会出现问题吗?

trans by 2020-02-22T09:49:19Z

python-如何在Django-admin中添加自定义搜索框?

我知道这将是一个非常基本的问题。

在Django中,我已经成功创建了一个管理面板。 现在,我想在我的一个字段即Photo字段中添加一个自定义搜索框。 但是我不知道如何在django-admin面板中添加自定义搜索框。 如果我得到一些适当的提示,我相信我可以做到。

admin.朋友:

from django.contrib import admin


from photo.models import Photo,

class PhotoAdmin(admin.ModelAdmin):

    list_display=('name','approved','approved_time','uploaded_time','user')

models.朋友:

class Photo(models.Model):
    name = models.CharField(max_length = 100)
    photo = models.ImageField(upload_to = 'photos', blank=False,null=True)
    approved = models.BooleanField(default = False)
    approved_time = models.DateTimeField(auto_now=True,null=True,blank=True)
    uploaded_time = models.DateTimeField()
    description = models.CharField(max_length = 500 , blank = False , null = True)
keyword = models.CharField(max_length = 500 , blank = False , null = True)
    image_id = models.CharField(max_length=300, blank=True, null=True)
    Certified = models.BooleanField(default = False)
    approved_by = models.CharField(max_length = 100)
    user = models.ForeignKey(User)
    total_download = models.IntegerField(default=0)
    watermarked_image = models.ImageField(upload_to = 'temp', blank=True,null=True)

我想在此Photo字段中添加一个自定义搜索框,可以在其中通过ID搜索图像。现在如何在上面给定的模型中添加此搜索框。

trans by 2020-02-22T06:46:18Z

如何在具有多对一关系的模型的Django管理员中添加可排序的计数列?

假设我有一个Book模型,其中包含指向Publisher模型的外键。

如何以一种可以使用内置排序的方式在Django admin中显示一列包含每个出版商出版的书籍数量的列?

trans by 2020-02-22T01:43:18Z

组织Django单元测试

现在,我的Django单元测试居住在mcif/tests.py。我更希望使用类似mcif/tests/foo_test.pymcif/tests/bar_test.py等的东西,但是如果我以这种方式组织测试,那么Django会失败。

有没有办法做我想做的事情,还是必须将所有测试都放在一个文件中?

trans by 2020-02-21T23:38:48Z

如何在Amazon EC2托管上设置Django网站?

有人可以针对使用Amazon的EC2托管服务实施基于Django的网站的托管给出具体步骤吗?

那可能吗?

我的网站源代码可以在这里找到。

我搜索并找到了这篇文章。

但是在做任何事情之前,我只想了解有关Amazon EC2托管的一些基本想法。

trans by 2020-02-20T16:59:46Z

python-如何在没有模板的Django中发送空响应

我写了一个视图,它响应来自浏览器的ajax请求。 它是这样写的-

@login_required
def no_response(request):
    params = request.has_key("params")
    if params:
        # do processing
        var = RequestContext(request, {vars})
        return render_to_response('some_template.html', var)
    else: #some error
        # I want to send an empty string so that the 
        # client-side javascript can display some error string. 
        return render_to_response("") #this throws an error without a template.

我该怎么做?

这是我在客户端处理服务器响应的方式-

    $.ajax
    ({
        type     : "GET",
        url      : url_sr,
        dataType : "html",
        cache    : false,
        success  : function(response)
        {
            if(response)
                $("#resp").html(response);
            else
                $("#resp").html("<div id='no'>No data</div>");
        }
    });
trans by 2020-02-20T14:11:56Z

python-当我将PostgreSQL作为Django的数据库时,为什么要使用Redis?

我有一个Django应用程序,该应用程序当前托管在Amazon的EC2服务上。 我有两台机器,一台使用Django应用程序,另一台使用我的PostgreSQL数据库。 到目前为止,它一直坚如磐石。

许多消息来源声称我应该在堆栈中实现Redis,但是用Django和Postgresql实现Redis的目的是什么? 例如,如何在Django代码中实现Redis?

如何在PostgreSQL中使用它?

这些都是我一直试图寻找答案的问题,所以我来这里的目的是希望从最大和最好的问题中获得答案。 我真的很感谢任何答案。

谢谢

trans by 2020-02-20T04:02:35Z

我如何修改Procfile在Heroku的非标准文件夹中运行Gunicorn进程?

我是Heroku和Gunicorn的新手,所以我不确定这是如何工作的。 但是我已经进行了一些搜索,我想我即将部署Django应用(1.5.1)。 所以我知道我需要一个Procfile

web: gunicorn app.wsgi

因为我的目录有些不同。 我无法在根目录中运行gunicorn

app_project
    requirements/
    contributors/
    app/
        app/
            settings/
            wsgi.py
        # Normally Procfile goes here
    Procfile

通常,app /是根目录,但是我决定以这种方式来构造文件夹,以将django应用程序与其他一些东西分开。 由于必须将Procfile放在根目录中才能让heroku识别,因此我应该在Procfile中放置什么和/或在gunicorn命令中放置什么参数?

注意:

web: gunicorn app.wsgi # won't work because Procfile is in a directory above
                       # I also want to keep the directories as is
                       # I also don't want to create a secondary git inside the app folder just for heroku
web: gunicorn app.app.wsgi # won't work because I don't want to convert the folder into a python module
trans by 2020-02-19T22:17:26Z

python-如何使用python2.7 pip代替默认pip

我刚安装了python 2.7,并且还安装了2.7站点包。

当我得到的版本:

pip -V

表明:

pip 1.3.1 from /usr/lib/python2.6/site-packages (python 2.6)

如何使用位于以下位置的2.7版本的pip:

/usr/local/lib/python2.7/site-packages
trans by 2020-02-19T18:22:07Z

Django中的内联表单验证

我想在管理员更改表单中强制使用整个内联表单集。 因此,在当前情况下,当我在“发票”表单(在Admin中)中单击“保存”时,内联“订单”表单为空白。 我想阻止人们创建没有关联订单的发票。

有人知道这样做的简单方法吗?

在此情况下,模型字段上的正常验证(如(required=True))似乎不起作用。

trans by 2020-02-18T22:17:40Z

告诉temp是否需要Django字段

我正在渲染一个表单。 我想在所有必须填写的字段旁边打上一个标记。通常是简单的东西...但是我不知道如何访问该信息!

{% if field.required %}REQUIRED!!{% endif %}

没有带来任何爱

trans by 2020-02-18T18:11:12Z

Django异常中间件:TypeError:object()不带参数

我正在使用Django 1.10,并尝试使用异常中间件捕获所有异常。

以下代码导致内部服务器错误:

mw_instance = middleware(handler)
TypeError: object() takes no parameters

views.py

from django.http import HttpResponse

def my_view(request):
    x = 1/0 # cause an exception
    return HttpResponse("ok")

settings.py

MIDDLEWARE = [
    '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',
    'myproject.middleware.ExceptionMiddleware',  

]

middleware.py

from django.http import HttpResponse

class ExceptionMiddleware(object):
    def process_exception(self, request, exception): 
        return HttpResponse("in exception")

我已经在django 1.10中看到了这些object()没有任何参数,以及其他有关中间件与middleware_classes的问题,但是我不确定这种情况如何应用,或者我为解决该问题实际需要进行哪些更改。

trans by 2020-02-18T15:03:38Z

Django:prefetch_related()是否遵循反向关系查找?

我已经在django 1.4中从主干尝试过prefetch_related(),但无法使其预取反向查找。

我的简化模型(每本书有很多价格):

class Book(models.Model):
    # some fields

class Price(models.Model):
    book = models.ForeignKey(Book)

我视图的查询:

books = Book.objects.prefetch_related('price')

然后,我得到了AttributeError消息:

AttributeError: Cannot find 'price' on Book object, 'price' is an invalid parameter to prefetch_related()

如何使其运作?谢谢。

trans by 2020-02-17T21:27:55Z

python-如何在Django单元测试中获取请求对象?

我有一个功能

def getEvents(eid, request):
    ......

现在,我想为上述功能单独编写单元测试(无需调用视图)。因此,我应该如何在TestCase中调用以上方法?可以创建请求吗?

trans by 2020-02-17T14:18:47Z

如何创建具有最大和最小限制的Django FloatField?

我在Django模型中存储了一些浮点数据,并且只有一定范围的值才有意义。 因此,我想在模型和SQL约束级别上施加这些限制。

例如,我想做这样的事情:

class Foo(Model):
   myfloat = FloatField(min=0.0, max=1.0)

我想在模型级别而不是表单级别执行此操作。 实际上,我可能希望表单级别具有不同的范围。 例如,在表单级别使用百分比[0,100],但在模型中转换为[0,1]。

这可能吗?如果可以,我将如何去做呢?

trans by 2020-02-17T14:15:28Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共64页