小编ozg*_*gur的帖子

Django - 导入django.conf.settings和导入设置之间的区别

Django应用程序中以下import语句之间的基本区别是什么?

import settings
Run Code Online (Sandbox Code Playgroud)

from django.conf import settings
Run Code Online (Sandbox Code Playgroud)

python django

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

默默地从python dict中删除密钥

我有一个python dict,我想静静地从我的字典中删除其中一个None''键,所以我想出了这样的东西:

try:
    del my_dict[None]
except KeyError:
    pass

try:
    del my_dict['']
except KeyError:
   pass
Run Code Online (Sandbox Code Playgroud)

如您所见,它的可读性较差,导致我编写重复的代码.所以我想知道python中是否有一个方法从dict中删除任何键而不抛出键错误?

python dictionary

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

如何使用JSON.loads转换为Python datetime对象?

我有一个JSON对象的字符串表示形式.

dumped_dict = '{"debug": false, "created_at": "2020-08-09T11:24:20"}'
Run Code Online (Sandbox Code Playgroud)

当我用这个对象调用json.loads时;

json.loads(dumped_dict)
Run Code Online (Sandbox Code Playgroud)

我明白了

{'created_at': '2020-08-09T11:24:20', 'debug': False}
Run Code Online (Sandbox Code Playgroud)

这里没有错.但是,我想知道是否有办法将上面的对象与json.loads转换为如下所示:

{'created_at': datetime.datetime(2020, 08, 09, 11, 24, 20), 'debug': False}
Run Code Online (Sandbox Code Playgroud)

不久,我们能够在调用json.loads时将datetime字符串转换为实际的datetime.datetime对象吗?

python datetime json

31
推荐指数
4
解决办法
3万
查看次数

Django下载文件

我是使用Django的新手,我正在尝试开发一个用户可以上传大量excel文件的网站,然后将这些文件存储在媒体文件夹Webproject/project/media中.

def upload(request):
    if request.POST:
        form = FileForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return render_to_response('project/upload_successful.html')
    else:
        form = FileForm()
    args = {}
    args.update(csrf(request))
    args['form'] = form

    return render_to_response('project/create.html', args)
Run Code Online (Sandbox Code Playgroud)

然后,文档将与列表中的任何其他文档一起显示在列表中,您可以单击该文档,它将显示有关它们的基本信息以及它们已上载的文件的名称.从这里我希望能够使用以下链接再次下载相同的excel文件:

 <a  href="/project/download"> Download Document </a>
Run Code Online (Sandbox Code Playgroud)

我的网址是

 urlpatterns = [

              url(r'^$', ListView.as_view(queryset=Post.objects.all().order_by("-date")[:25],
                                          template_name="project/project.html")),
              url(r'^(?P<pk>\d+)$', DetailView.as_view(model=Post, template_name="project/post.html")),
              url(r'^upload/$', upload),
              url(r'^download/(?P<path>.*)$', serve, {'document root': settings.MEDIA_ROOT}),

          ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)

但是我得到了错误,serve()得到了一个意外的关键字参数'document root'.谁能解释如何解决这个问题?

要么

说明如何使用上传的文件进行选择和提供

def download(request):
    file_name = #get the filename of desired excel file
    path_to_file = #get the path of desired excel file …
Run Code Online (Sandbox Code Playgroud)

python django

31
推荐指数
4
解决办法
6万
查看次数

Python请求从本地URL获取文件

我在我的应用程序的一个方法中使用Python的请求库.方法的主体如下所示:

def handle_remote_file(url, **kwargs):
    response = requests.get(url, ...)
    buff = StringIO.StringIO()
    buff.write(response.content)
    ...
    return True
Run Code Online (Sandbox Code Playgroud)

我想为该方法编写一些单元测试,但是,我想要做的是传递一个假的本地URL,例如:

class RemoteTest(TestCase):
    def setUp(self):
        self.url = 'file:///tmp/dummy.txt'

    def test_handle_remote_file(self):
        self.assertTrue(handle_remote_file(self.url))
Run Code Online (Sandbox Code Playgroud)

当我使用本地URL 调用requests.get时,我得到了下面的KeyError异常:

requests.get('file:///tmp/dummy.txt')

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/packages/urllib3/poolmanager.pyc in connection_from_host(self, host, port, scheme)
76 
77         # Make a fresh ConnectionPool of the desired type
78         pool_cls = pool_classes_by_scheme[scheme]
79         pool = pool_cls(host, port, **self.connection_pool_kw)
80 

KeyError: 'file'
Run Code Online (Sandbox Code Playgroud)

问题是如何将本地URL传递给requests.get

PS:我编写了上面的例子.它可能包含许多错误.

python http python-requests

22
推荐指数
5
解决办法
3万
查看次数

使用If-Let并在一行中检查输出

这只是一个例子来说明我想要实现的目标.

我想检查一个可选项是否包含一个值,如果它是否大于0.我现在有这样的方式:

if let value = Double(textFieldText) {
  if value > 0 {
    return true
  }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在一条线上实现这一目标?就像是:

if let value = Double(textFieldText) && value > 0{
  return true
}
Run Code Online (Sandbox Code Playgroud)

ios swift swift2

14
推荐指数
2
解决办法
1162
查看次数

在swift中删除每个表格单元格中的边框

我想删除每个Question表行的边框底线.另一件事是我想删除每行中的左边填充空间.如何在swift iOS 9.0中实现它.

在此输入图像描述

uitableview tablecell swift ios9

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

从dict创建数据框,其中键是元组

我有以下dict,键为元组:

d = {('first', 'row'): 3, ('second', 'row'): 1}
Run Code Online (Sandbox Code Playgroud)

我想创建一个包含3列的数据框:Col1,Col2和Col3,它们应如下所示:

Col1   Col2  Col3
first  row   3
second row   4
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何拆分元组,而不是按对解析dict对.

python pandas

12
推荐指数
3
解决办法
3954
查看次数

ImportError:没有名为objectid的模块

我目前在我的Mac OS X 10.6.8上安装了django-mongodb-engine 0.4.0版本,并且在导入"编译器"模块时奇怪地遇到了一个有趣的错误:

>> from django_mongodb_engine import compiler
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ImportError Traceback (most recent call last)
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django_extensions/management/commands/shell_plus.pyc in <module>()
----> 1 from django_mongodb_engine import compiler

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django_mongodb_engine/compiler.pyc in <module>()
      15 from pymongo.errors import PyMongoError
      16 from pymongo import ASCENDING, DESCENDING
 ---> 17 from pymongo.objectid import ObjectId, InvalidId
      18 
      19 from djangotoolbox.db.basecompiler import NonrelQuery, NonrelCompiler, \

ImportError: No module named objectid
Run Code Online (Sandbox Code Playgroud)

我通过pip命令安装了包,并且已经安装了所有依赖,如pymongo,djangotoolbox.我使用的pip命令是这样的:

>> sudo env ARCHFLAGS='-arch i386 -arch x86_64' pip …
Run Code Online (Sandbox Code Playgroud)

python django mongodb pymongo django-mongodb-engine

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

Django REST - 如何在返回REST响应之前"修改"值?

我做了一些研究,但我不太确定我在技术上寻找什么,所以我找不到太多信息.我正在使用Django REST.

模型

class Car(models.Model)
    name =  name = models.CharField(blank=True, null=True, db_index=True)
    speed = models.IntegerField(default=SPEED.FAST)
Run Code Online (Sandbox Code Playgroud)

视图

class CarViewSet(viewsets.ModelViewSet):
    queryset = Car.objects.all()
    serializer_class = CarSerializer
Run Code Online (Sandbox Code Playgroud)

串行

class CarSerializer(serializers.ModelSerializer):
    class Meta:
        model = Car
Run Code Online (Sandbox Code Playgroud)

问题:speedCar模型中的字段是一个整数,当我访问REST端点API时,我不想返回整数,而是返回一个字符串.基本上:

if speed is 0:
    return "slow"
else:
    return "fast" 
Run Code Online (Sandbox Code Playgroud)

所以JSON响应的示例如下:

{ name: "ferrari", speed: "fast" }
Run Code Online (Sandbox Code Playgroud)

python django rest django-rest-framework

11
推荐指数
2
解决办法
3336
查看次数