Questions tagged «django»

Django是使用Python编写的开放源代码服务器端Web应用程序框架。它旨在减少创建复杂的数据驱动的网站和Web应用程序所需的工作量,并特别注重更少的代码,无冗余以及比隐式更显式。


6
当您的应用具有测试目录时,在Django中运行特定的测试用例
Django文档(http://docs.djangoproject.com/en/1.3/topics/testing/#running-tests)指出,您可以通过指定单个测试用例来运行它们: $ ./manage.py test animals.AnimalTestCase 假设您将测试保存在Django应用程序的tests.py文件中。如果是这样,那么此命令将按预期工作。 我在tests目录中有针对Django应用程序的测试: my_project/apps/my_app/ ├── __init__.py ├── tests │ ├── __init__.py │ ├── field_tests.py │ ├── storage_tests.py ├── urls.py ├── utils.py └── views.py 该tests/__init__.py文件具有suite()函数: import unittest from my_project.apps.my_app.tests import field_tests, storage_tests def suite(): tests_loader = unittest.TestLoader().loadTestsFromModule test_suites = [] test_suites.append(tests_loader(field_tests)) test_suites.append(tests_loader(storage_tests)) return unittest.TestSuite(test_suites) 要运行测试,请执行以下操作: $ ./manage.py …

5
如何使用Django批量更新?
我想用Django更新表格-原始SQL中的内容如下: update tbl_name set name = 'foo' where name = 'bar' 我的第一个结果是这样的-但这很讨厌,不是吗? list = ModelClass.objects.filter(name = 'bar') for obj in list: obj.name = 'foo' obj.save() 有没有更优雅的方式?

20
Django TemplateDoesNotExist?
我的本地计算机在Ubuntu 8.10上运行Python 2.5和Nginx,而Django是从最新的开发主干构建的。 对于我请求的每个URL,都会引发: TemplateDoesNotExist位于/​​ appname / path appname / template_name.html Django尝试按以下顺序加载这些模板:*使用加载程序django.template.loaders.filesystem.function:*使用加载程序django.template.loaders.app_directories.function: TEMPLATE_DIRS('/usr/lib/python2.5/site-packages/projectname/templates',) 是否在寻找/usr/lib/python2.5/site-packages/projectname/templates/appname/template_name.html在这种情况下,?奇怪的是该文件确实存在于磁盘上。Django为什么找不到它? 我在Ubuntu 9.04上的Python 2.6的远程服务器上运行了相同的应用程序,而没有这样的问题。其他设置相同。 我的本地计算机上是否配置有任何错误,或者什么原因可能导致我应调查此类错误? 在我的settings.py中,我指定了: SETTINGS_PATH = os.path.normpath(os.path.dirname(__file__)) # Find templates in the same folder as settings.py. TEMPLATE_DIRS = ( os.path.join(SETTINGS_PATH, 'templates'), ) 它应该寻找以下文件: /usr/lib/python2.5/site-packages/projectname/templates/appname1/template1.html /usr/lib/python2.5/site-packages/projectname/templates/appname1/template2.html /usr/lib/python2.5/site-packages/projectname/templates/appname2/template3.html ... 以上所有文件都存在于磁盘上。 解决了 经过尝试,现在可以使用: chown -R www-data:www-data /usr/lib/python2.5/site-packages/projectname/* 真奇怪。我不需要在远程服务器上执行此操作即可使其正常工作。
162 django 

12
传入的Django请求中的JSON数据在哪里?
我正在尝试使用Django / Python处理传入的JSON / Ajax请求。 request.is_ajax()是True在请求中,但是我不知道有效负载在哪里以及JSON数据。 request.POST.dir 包含以下内容: ['__class__', '__cmp__', '__contains__', '__copy__', '__deepcopy__', '__delattr__', '__delitem__', '__dict__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__str__', '__weakref__', '_assert_mutable', '_encoding', '_get_encoding', '_mutable', '_set_encoding', 'appendlist', 'clear', 'copy', 'encoding', 'fromkeys', 'get', 'getlist', …

13
如何在基于Django类的视图上使用Permission_required装饰器
我在理解新CBV的工作方式时遇到了一些麻烦。我的问题是,我需要在所有视图中登录,并且在某些视图中需要特定的权限。在基于函数的视图中,我使用@permission_required()和视图中的login_required属性来执行此操作,但是我不知道如何在新视图上执行此操作。django文档中是否有某些部分对此进行了解释?我什么都没找到 我的代码有什么问题? 我尝试使用@method_decorator,但它回答“ / spaces / prueba / _wrapped_view()处的TypeError至少接受1个参数(给定0) ” 这是代码(GPL): from django.utils.decorators import method_decorator from django.contrib.auth.decorators import login_required, permission_required class ViewSpaceIndex(DetailView): """ Show the index page of a space. Get various extra contexts to get the information for that space. The get_object method searches in the user 'spaces' field …

3
Django动态模型字段
我正在开发一个多租户应用程序,其中一些用户可以定义自己的数据字段(通过管理员)以收集表单中的其他数据并报告数据。后一点使得JSONField不是一个很好的选择,所以我有以下解决方案: class CustomDataField(models.Model): """ Abstract specification for arbitrary data fields. Not used for holding data itself, but metadata about the fields. """ site = models.ForeignKey(Site, default=settings.SITE_ID) name = models.CharField(max_length=64) class Meta: abstract = True class CustomDataValue(models.Model): """ Abstract specification for arbitrary data. """ value = models.CharField(max_length=1024) class Meta: abstract = …

7
Django可选的url参数
我有一个像这样的Django URL: url( r'^project_config/(?P<product>\w+)/(?P<project_id>\w+)/$', 'tool.views.ProjectConfig', name='project_config' ), views.py: def ProjectConfig(request, product, project_id=None, template_name='project.html'): ... # do stuff 问题是我希望project_id参数是可选的。 我希望/project_config/并且/project_config/12345abdce/成为同等有效的URL模式,以便如果 project_id通过,那么我可以使用它。 就目前而言,访问不带project_id参数的URL时会得到404 。

6
您如何捕获此异常?
这段代码在django / db / models / fields.py中。它创建/定义一个异常吗? class ReverseSingleRelatedObjectDescriptor(six.with_metaclass(RenameRelatedObjectDescriptorMethods)): # This class provides the functionality that makes the related-object # managers available as attributes on a model class, for fields that have # a single "remote" value, on the class that defines the related field. # In the example "choice.poll", …
161 python  django  exception 

15
从URL获取协议+主机名
在我的Django应用中,我需要从引荐来源网址中获取主机名request.META.get('HTTP_REFERER')及其协议,以便从类似以下网址的网址中获取: https://docs.google.com/spreadsheet/ccc?key=blah-blah-blah-blah#gid=1 /programming/1234567/blah-blah-blah-blah http://www.example.com https://www.other-domain.com/whatever/blah/blah/?v1=0&v2=blah+blah ... 我应该得到: https://docs.google.com/ https://stackoverflow.com/ http://www.example.com https://www.other-domain.com/ 我查看了其他相关问题,并找到了有关urlparse的信息,但这并没有成功 >>> urlparse(request.META.get('HTTP_REFERER')).hostname 'docs.google.com'
161 python  django 

4
在Django中,如何使用动态字段查找过滤QuerySet?
给定一个班级: from django.db import models class Person(models.Model): name = models.CharField(max_length=20) 是否有可能(如果有的话)有一个基于动态参数进行过滤的QuerySet?例如: # Instead of: Person.objects.filter(name__startswith='B') # ... and: Person.objects.filter(name__endswith='B') # ... is there some way, given: filter_by = '{0}__{1}'.format('name', 'startswith') filter_value = 'B' # ... that you can run the equivalent of this? Person.objects.filter(filter_by=filter_value) # ... which will throw an …

4
从数据库重新加载Django对象
是否可以从数据库刷新django对象的状态?我的意思是行为大致等同于: new_self = self.__class__.objects.get(pk=self.pk) for each field of the record: setattr(self, field, getattr(new_self, field)) 更新:在跟踪器中找到了重新打开/固定补丁之战:http ://code.djangoproject.com/ticket/901 。仍然不明白为什么维护者不喜欢这个。

8
SQLAlchemy是否具有与Django的get_or_create等效的功能?
我想从数据库中获取一个对象(如果已存在)(基于提供的参数),或者如果不存在则创建它。 Django的get_or_create(或source)做到了。SQLAlchemy中是否有等效的快捷方式? 我目前正在像这样明确地写出来: def get_or_create_instrument(session, serial_number): instrument = session.query(Instrument).filter_by(serial_number=serial_number).first() if instrument: return instrument else: instrument = Instrument(serial_number) session.add(instrument) return instrument

9
在Django中保存Unicode字符串时,MySQL“字符串值不正确”错误
尝试将first_name,last_name保存到Django的auth_user模型时,出现奇怪的错误消息。 失败的例子 user = User.object.create_user(username, email, password) user.first_name = u'Rytis' user.last_name = u'Slatkevičius' user.save() >>> Incorrect string value: '\xC4\x8Dius' for column 'last_name' at row 104 user.first_name = u'Валерий' user.last_name = u'Богданов' user.save() >>> Incorrect string value: '\xD0\x92\xD0\xB0\xD0\xBB...' for column 'first_name' at row 104 user.first_name = u'Krzysztof' user.last_name = u'Szukiełojć' user.save() …
158 python  mysql  django  unicode  utf-8 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.