javascript

java

python

c#

android

c++

node.js

php

html

jquery

reactjs

ios

css

.net

git

ruby-on-rails

sql

c

string

ruby

Django中的动态文件路径

我正在尝试在Django中生成动态文件路径。 我想制作一个像这样的文件系统:

 -- user_12
     --- photo_1
     --- photo_2
 --- user_ 13
     ---- photo_1

我发现了一个相关的问题:具有动态路径的Django自定义图像上传字段

他们在这里说,我们可以更改upload_to路径,并指向[https://docs.djangoproject.com/en/stable/topics/files/]文档。 在文档中,有一个示例:

from django.db import models
from django.core.files.storage import FileSystemStorage

fs = FileSystemStorage(location='/media/photos')

class Car(models.Model):
    ...
    photo = models.ImageField(storage=fs)

但是,这仍然不是动态的,我想给Car id赋予图像名称,并且在Car定义完成之前我无法分配ID。 那么如何创建带有汽车ID的路径?

trans by 2020-08-03T19:01:42Z

python-Djang最干净,最快的服务器设置

我将部署一个由Django驱动的中型站点。 我有专用的Ubuntu服务器。

我对使用哪种服务器软件感到非常困惑。 所以我对自己想:为什么不问stackoverflow。

我正在寻找的是:

  • 易于设置
  • 快速便捷的资源
  • 可以提供媒体文件
  • 能够在同一服务器上服务多个djangosites
  • 我宁愿不安装PHP或其他会占用资源的东西,而我对此毫无用处。

我听说过Apache,nginx和lighty上的mod_wsgi和mod_python。 这些利弊有哪些,我想念某人吗?

@Barry:不知何故,我觉得Apache对我来说是肿的。 那替代品呢?

@BrianLy:好的,我会再检查一下mod_wsgi。 但是,如果我随便提供静态文件,为什么还需要Apache? 我还设法轻松地为Django应用本身提供服务。 无论如何,这很糟糕吗? 对不起,蜜蜂如此愚蠢:-)

更新:lighty和nginx怎么样?当它们是最佳选择时,它们是用例?

trans by 2020-08-03T17:51:36Z

python-如何自动销毁Django测试数据库

我目前正在尝试使用hudson自动化django测试,并且正在努力寻找一个可以自动销毁测试数据库(如果已经存在)的选项(通常会要求确认以销毁它,这显然是自动测试无法提供的) 。

我们欢迎所有的建议!

干杯,[R

trans by 2020-08-03T14:32:33Z

python-Django Rest Framework-在serializ中获取相关模型字段

我正在尝试从Django Rest Framework返回HttpResponse,包括来自2个链接模型的数据。这些模型是:

class Wine(models.Model):

    color = models.CharField(max_length=100, blank=True)
    country = models.CharField(max_length=100, blank=True)
    region = models.CharField(max_length=100, blank=True)
    appellation = models.CharField(max_length=100, blank=True)

class Bottle(models.Model):

    wine = models.ForeignKey(Wine, null=False)
    user = models.ForeignKey(User, null=False, related_name='bottles')

我想要一个用于Bottle模型的序列化器,其中包括来自相关Wine的信息。

我试过了:

class BottleSerializer(serializers.HyperlinkedModelSerializer):
    wine = serializers.RelatedField(source='wine')

    class Meta:
        model = Bottle
        fields = ('url', 'wine.color', 'wine.country', 'user', 'date_rated', 'rating', 'comment', 'get_more')

这不起作用。

有什么想法可以做到吗?

谢谢 :)

trans by 2020-08-02T13:49:35Z

python-在Django临时文件中执行getattr()样式查找

当您事先不知道某个属性的名称时,Python的getattr()方法很有用。

此功能也将在模板中派上用场,但我从未想出实现此功能的方法。 是否存在可以执行动态属性查找的内置标记或非内置标记?

trans by 2020-08-02T06:19:23Z

Django:覆盖并扩展应用临时

如果要覆盖django中应用程序随附的模板(在app / templates / app /中),请在另一个目录中创建相同名称的模板,模板加载器会在应用程序模板目录之前检查该模板。 如果您只想覆盖模板的某些块,则还必须复制整个模板广告,更改该块,这实际上不是很干。

有人知道一种方法来覆盖原始模板,同时扩展它,以便您只需要覆盖要更改的特定块吗? (这样做是在不更改模板名称的情况下进行的,因为在某些情况下,您可能必须更改视图才能使其与其他模板一起使用)

编辑:正如亚当·泰勒(Adam Taylor)在Django 1.9的评论中所指出的那样,这可能是没有任何黑客的。

trans by 2020-08-02T05:41:58Z

Django:等同于“从[表名]中选择[列名]”

我想知道有什么等同于:

select columnname from tablename

就像Django教程中所说的:

Entry.objects.filter(condition)

提取具有给定条件的所有对象。 它就像是:

select * from Entry where condition

但是我只想列出一列(在我的情况下是外键)。 发现:

Entry.objects.values_list('column_name', flat=True).filter(condition)

一样。 但是在我的情况下,该列是外键,因此该查询丢失了外键的属性。 它只是存储值。 我无法拨打查询电话。

trans by 2020-08-01T15:35:53Z

我如何模拟Django信号处理程序?

我有一个通过装饰器连接的signal_handler,就像这样一个非常简单的东西:

@receiver(post_save, sender=User, 
          dispatch_uid='myfile.signal_handler_post_save_user')
def signal_handler_post_save_user(sender, *args, **kwargs):
   # do stuff

我想做的是在测试中使用模拟库[http://www.voidspace.org.uk/python/mock/]对其进行模拟,以检查django调用它的次数。 目前,我的代码是这样的:

def test_cache():
    with mock.patch('myapp.myfile.signal_handler_post_save_user') as mocked_handler:
        # do stuff that will call the post_save of User
    self.assert_equal(mocked_handler.call_count, 1)

这里的问题是,即使被嘲笑,原始信号处理程序也会被调用,这很可能是因为_support_function装饰器将信号处理程序的副本存储在某个地方,所以我在模拟错误的代码。

那么问题来了:如何模拟信号处理程序以使测试工作?

请注意,如果我将信号处理程序更改为:

def _support_function(*args, **kwargs):
    # do stuff

@receiver(post_save, sender=User, 
          dispatch_uid='myfile.signal_handler_post_save_user')
def signal_handler_post_save_user(sender, *args, **kwargs):
   _support_function(*args, **kwargs)

而我模拟了_support_function,一切正常。

trans by 2020-07-31T22:18:00Z

django-通过ForeignKey字段的计数顺序?

我有一个用户模型和一个提交模型。 每个提交都有一个上载用户的外键字段user_submitted。

class Submission(models.Model):
    uploaded_by = models.ForeignKey('User')
class User(models.Model):
    name = models.CharField(max_length=250 )

我的问题很简单:如何获得提交量最多的三个用户的列表?

我尝试在用户模型上创建num_submissions方法:

def num_submissions(self):
    num_submissions = Submission.objects.filter(uploaded_by=self).count()
    return num_submissions

然后执行:

top_users = User.objects.filter(problem_user=False).order_by('num_submissions')[:3]

但是,这和我尝试过的所有其他方法一样都失败了。 我实际上可以使用智能数据库查询吗? 还是我应该在视图文件中做一些更怪诞的事情?

trans by 2020-07-31T05:30:44Z

具有来自同一选项卡的2个外键的Django模型

我想要一个Django模型,该模型具有来自同一表的2个外键。 这是一个事件表,其中有两列用于员工:“演员”和“接收者”。 但是我得到这个错误:

错误:一个或多个模型未验证:tasks.task:中介 模型TaskEvent对Employee具有多个外键,即 含糊不清,是不允许的。

有没有更好的方法对此建模?谢谢

我想我要添加TaskEvent_to_Employee表格。 其中有两个记录,一个与每个TaskEvent相关的两个雇员中的每个。每个人都知道一个更简单的解决方法吗?

trans by 2020-07-31T05:21:33Z

Django Imagefield无法通过ModelForm正常工作

我敢肯定我正在做的事情确实很愚蠢,但是我已经尝试了好几个小时了,而且没有任何事情发生在我身上。

我正在使用ModelForm,以便可以公开模型中的一些字段以进行编辑。 2x ImageField,1x TextField。 表单已处理,TextField有效。 这两个ImageField不起作用,这就是为什么我今天在这里。

我正在使用Django 1.0.2

这是相关的代码(如果您需要更多,请询问-我不包括HTML,因为该部分似乎可以正常工作):

模型:

class Company(models.Model):
    #...
    logo = models.ImageField(upload_to='logos', blank=True)
    intro_pic = models.ImageField(upload_to='intropics', blank=True)
    intro_text = models.TextField(blank=True)

视图和形式:

def admin_edit(request, company_slug):
    company = get_object_or_404(Company, slug = company_slug)

    f = AdminEditForm(instance = company)
    if request.method == 'POST':
        f = AdminEditForm(request.POST, instance = company)
        if f.is_valid():
            print "Processing form"
            print f.cleaned_data['intro_pic']
            f.save()

    return render_to_response('uadmin/edit.html', {'company':company, 'f':f}, RequestContext(request))


class AdminEditForm(ModelForm):
    class Meta:
        model = Company
        fields = ['logo', 'intro_pic', 'intro_text']
trans by 2020-07-30T22:13:36Z

我打开不是Djang的目录时,PyCharm无法找到正确的路径

我们的项目通常是结构化的:

/project-name
  /src
    /django-project-name
      etc..
readme.md
requirements.txt

如果我打开/project-name而不是/django-project-name,PyCharm会强调我的导入内容说找不到,并且它尝试将导入内容引用为/djang-project-name,而在运行Django时实际上找不到。

如何使它与安装/djang-project-name时的工作原理相同?

trans by 2020-07-30T22:11:04Z

在运行Django测试时,如何将DEBUG设置为True?

我目前正在运行一些Django测试,默认情况下看起来是DEBUG=False。 有没有一种方法可以运行特定的测试,从而可以在命令行或代码中设置DEBUG=True

trans by 2020-07-30T10:35:35Z

python-没有名为urllib.parse的模块(我应该如何安装?)

我试图在CentOS 7上运行REST API,我读到urllib.parse在Python 3中,但是我在使用Python 2.7.5,所以我不知道如何安装该模块。

我安装了所有要求,但仍然无法运行该项目。

当我寻找一个URL时,我得到了这个(我正在使用可浏览的界面):

输出:

ImportError at /stamp/
No module named urllib.parse
trans by 2020-07-30T02:50:24Z

python-Django:获取模型s中的当前用户

我想以models.py的Timesheet方法获得当前登录的用户(Tasks)。 我想检查用户的角色,并查看它是否可以根据其角色执行某些操作。

models.朋友:

class TimeSheet(models.Model):
    check_in_time = models.TimeField()
    check_out_time = models.TimeField()

class Tasks(models.Model):
    time_sheet = models.ForeignKey(TimeSheet)
    project = models.ForeignKey(Project)
    start_time = models.TimeField()
    end_time = models.TimeField()

    def save(self, *args,**kwargs):
        project = SpentTime.objects.get(project__project__id = self.project.id)
        start = datetime.datetime.strptime(str(self.start_time), '%H:%M:%S')
        end = datetime.datetime.strptime(str(self.end_time), '%H:%M:%S')
        time = float("{0:.2f}".format((end - start).seconds/3600.0))

        if common.isDesigner(request.user):
            SpentTime.objects.filter(project__project__id = self.project.id).update(design = float(project.design) + time)

        if common.isDeveloper(request.user):
            SpentTime.objects.filter(project__project__id = self.project.id).update(develop = float(project.develop) + time)

        super(Tasks, self).save(*args, **kwargs)

这里的Tasks模型被用作Timesheet模型中的内联模型。 我想检查当前登录用户的角色,并根据用户角色更新另一个模型。 在这里,我需要request.user来检查当前用户的角色。 我没有使用任何形式或模板,而是完全利用了Django admin。 是否有任何方法可以通过save方法获得request.user或检查并更新admin.py中另一个模型中的值?

trans by 2020-07-30T00:10:27Z

python-Django,urlpatterns中的名称参数

我正在跟踪我的urlpatterns所在的教程:

urlpatterns = patterns('',
    url(r'^passwords/$', PasswordListView.as_view(), name='passwords_api_root'),
    url(r'^passwords/(?P<id>[0-9]+)$', PasswordInstanceView.as_view(), name='passwords_api_instance'),
    ...other urls here...,
)

PasswordListView和PasswordInstanceView应该是基于类的视图。我不知道name参数的含义。 它是传递给视图的默认参数吗?

trans by 2020-07-29T23:33:27Z

python-Django Rest Framework部分更新

我正在尝试使用Django Rest Framework实现serialized,但是由于我被卡住了,因此需要澄清一下。

  1. 为什么我们需要指定partial = True?
    据我了解,我们可以轻松地在2987375622571426826816方法内更新Demo对象。 这样做的目的是什么?

  2. 序列化变量里面有什么?
    partial_update方法中的serialized变量内部是什么? 那是一个演示对象吗? 在后台调用什么功能?

  3. 一个人如何在这里完成实施?

视图集

class DemoViewSet(viewsets.ModelViewSet):
    serializer_class = DemoSerializer

    def partial_update(self, request, pk=None):
        serialized = DemoSerializer(request.user, data=request.data, partial=True)
        return Response(status=status.HTTP_202_ACCEPTED)

序列化器

class DemoSerializer(serializers.ModelSerializer):
    class Meta:
        model = Demo
        fields = '__all__'

    def update(self, instance, validated_data):
        print 'this - here'
        demo = Demo.objects.get(pk=instance.id)
        Demo.objects.filter(pk=instance.id)\
                           .update(**validated_data)
        return demo
trans by 2020-07-29T05:06:38Z

过期视图缓存在Django中?

@cache_page decorator很棒。 但是对于我的博客,我希望将页面保留在缓存中,直到有人发表评论。 听起来这是一个好主意,因为人们很少评论,因此将页面保留在内存缓存中,而没人评论会很好。 我以为有人以前一定有这个问题? 这与每个URL的缓存不同。

因此,我正在考虑的解决方案是:

@cache_page( 60 * 15, "blog" );
def blog( request ) ...

然后,我将保留用于博客视图的所有缓存键的列表,然后使“博客”缓存空间过期。 但是我对Django并没有超级的经验,所以我想知道是否有人知道更好的方法?

trans by 2020-07-29T04:56:22Z

在Django中缓存查询结果

我正在尝试找到一种方法来缓存不会随频率变化的查询结果。 例如,来自电子商务的产品类别(手机,电视等)。我正在考虑使用模板片段缓存,但是在这个片段中,我将遍历这些类别的列表。 该列表在网站的任何部分都可用,因此在我的base.html文件中。 渲染模板时是否总是要发送类别列表? 还是有更动态的方法来执行此操作,以使列表始终在模板中可用?

trans by 2020-07-29T00:58:09Z

html-Django:允许从textarea输入换行

如何在django中的textarea输入中允许换行以稍后在页面上显示此输入?

trans by 2020-07-28T16:54:43Z

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