Questions tagged «django»

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

19
重新启动django runserver时如何“清除”端口
通常,在重新启动Django Runserver时,如果我使用相同的端口号,则会收到“端口已在使用中”消息。随后,我需要每次都增加端口号以避免这种情况。 但是,并非在所有服务器上都是如此,所以我想知道如何在正在使用的当前系统上实现此目标? 顺便说一句,平台是Ubuntu 8.10
69 django 

6
Django“无法添加或更新子行:外键约束失败”
我有一个模型Coupon,以及模型Photo与ForeignKey它: class Photo(models.Model): coupon = models.ForeignKey(Coupon, related_name='description_photos') title = models.CharField(max_length=100) image = models.ImageField(upload_to='images') 我在管理员中设置了内联,因此现在我可以从管理员将照片添加到优惠券中。 我尝试添加一个,并且上传成功,但是随后出现此错误的是Django的调试页面: IntegrityError at /admin/coupon/coupon/321/ (1452, 'Cannot add or update a child row: a foreign key constraint fails (`my_project`.`coupon_photo`, CONSTRAINT `coupon_id_refs_id_90d7f06` FOREIGN KEY (`coupon_id`) REFERENCES `coupon_coupon` (`id`))') 这是什么,我该如何解决? (如果重要,这是一个MySQL数据库。) 编辑:我在具有稍微不同的数据集的Sqlite3数据库上尝试过它,并且它起作用了,所以也许在当前的DB中有松散的数据?如何找到并删除它?

5
Django:使用<select multiple>和POST
我在模板中使用了类似的内容 &lt;select multiple="multiple" name="services" id="services" size="5"&gt; {% for service in services %} &lt;option value="{{service.id}}"&gt;{{service}}&lt;/option&gt; {% endfor %} &lt;/select&gt; 当我在Firebug或Django调试中查看POST数据时,我看到它仅发送一个值。我是在做错什么还是误解了一个概念?
69 python  django  http 

3
django:从该模型的实例获取模型的最佳实践方法
说my_instance是榜样MyModel。 我正在寻找一种好方法: my_model = get_model_for_instance(my_instance) 我还没有找到任何真正直接的方法来做到这一点。到目前为止,我已经提出了: from django.db.models import get_model my_model = get_model(my_instance._meta.app_label, my_instance.__class__.__name__) 这可以接受吗?它甚至是肯定可行的最佳实践方法吗? 还有_meta.object_name似乎提供与相同的东西__class__.__name__。可以?是好是坏?如果是这样,为什么? 另外,如果应用程序标签在项目范围内多次出现,例如如何从“ django.contrib.auth”获得“ auth”,并且还存在“ myproject.auth”,我怎么知道我得到的模型正确? 这样的情况get_model会变得不可靠吗? 感谢您的任何提示/提示和经验分享!
69 django 

5
在Django中的自定义管理器中捕获DidsNotExist异常
我有一个Django模型的自定义管理器。我似乎无法在此处捕获DidNotExist异常。我知道如何在模型中执行此操作,但在这里不起作用: class TaskManager(models.Manager): def task_depend_tree(self, *args, **kwargs): if "id" in kwargs: try: task = self.get(id=kwargs["id"]) except DoesNotExist: raise Http404 Get_object_or_404也不起作用。怎么了

11
Django表单,表单域的继承和顺序
我在我的网站中使用Django表单,并希望控制字段的顺序。 这是我定义表单的方式: class edit_form(forms.Form): summary = forms.CharField() description = forms.CharField(widget=forms.TextArea) class create_form(edit_form): name = forms.CharField() 名称是不可变的,仅在创建实体时列出。我使用继承来添加一致性和DRY原则。发生的事情并非错误,实际上是完全可以预料的,是名称字段在view / html中最后列出,但是我希望名称字段位于摘要和描述的顶部。我确实意识到,可以通过将摘要和描述复制到create_form并释放继承来轻松解决此问题,但是我想知道是否可行。 为什么?想象一下,您在edit_form中有100个字段,并且必须在create_form的顶部添加10个字段-复制和维护这两个表单看起来并不那么性感。(这是不是我的情况,我只是在举一个例子) 因此,如何覆盖此行为? 编辑: 显然,没有经过讨厌的破解(摆弄.field属性)就没有适当的方法。.field属性是SortedDict(Django内部数据结构之一),它不提供任何对key:value对进行重新排序的方法。但是,它确实提供了一种在给定索引处插入项目的方法,但是会将项目从类成员移动到构造函数中。该方法可以工作,但是会使代码的可读性降低。我认为合适的另一种方法是修改框架本身,这在大多数情况下都不是最优的。 简而言之,代码将变成这样: class edit_form(forms.Form): summary = forms.CharField() description = forms.CharField(widget=forms.TextArea) class create_form(edit_form): def __init__(self,*args,**kwargs): forms.Form.__init__(self,*args,**kwargs) self.fields.insert(0,'name',forms.CharField()) 那让我闭嘴:)

5
如何更新Django模型实例的多个字段?
我想知道,在Django中更新模型实例的多个字段的标准方法是什么?...如果我有一些领域的模型, Class foomodel(models.Model): field1 = models.CharField(max_length=10) field2 = models.CharField(max_length=10) field3 = models.CharField(max_length=10) ... ...,然后在给定一个字段的情况下实例化它,然后在单独的步骤中,我想提供其余字段,如何仅通过传递字典或键值参数来做到这一点?可能? 换句话说,假设我有一个包含一些数据的字典,该字典具有我要写入该模型实例的所有内容。该模型实例已在一个单独的步骤中实例化,可以说它尚未持久化。我可以foo_instance.field1 = my_data_dict['field1']对每个字段说,但是有什么告诉我,应该有一种在模型实例上调用方法的方法,在该方法中,我只需一次传递所有字段值对并对其进行更新。有点像foo_instance.update(my_data_dict)。我没有看到任何这样的内置方法,是我错过了它还是有效地做到了? 我觉得这是一个显而易见的RTM问题,但我只是在文档中没有看到。

6
检查对象是否存在
我需要检查是否Model.objects.filter(...)打开了任何东西,但不需要插入任何东西。到目前为止,我的代码是: user_pass = log_in(request.POST) # form class if user_pass.is_valid(): cleaned_info = user_pass.cleaned_data user_object = User.objects.filter(email = cleaned_info['username'])

5
Django Rest框架中的只写,只读字段
我有这样的模型: class ModelA(models.Model): name = models.CharField() class ModelB(models.Model): f1 = models.CharField() model_a = models.ForeignKey(ModelA) 序列化器: class ASerializer(serializers.ModelSerializer): model_b_ids = serializers.CharField() class Meta: model = ModelA write_only_fields = ('model_b_ids',) 意见: class AView(CreateModelMixin, GenericViewSet): def perform_create(self, serializer): model_b_ids = parse_somehow(serializer.validated_data["model_b_ids"]) #do something... 我遇到的问题是“ model_b_ids”的问题 用户应在发送帖子数据时提交它。 我在perform_create中使用它来链接到相关模型。 但是那不是ModelA中的“真实列”,因此当我尝试保存它时会引发异常。 我试图从validated_data中弹出它,但是又在无法从模型读取model_b_ids的地方再次出现错误。关于正确使用这种字段有什么想法吗?

7
在Django中对抗客户端缓存
我正在使用render_to_response快捷方式,并且不想制作特定的Response对象来添加其他标头,以防止客户端缓存。 我想要一个包含以下内容的回复: 语法:无缓存 缓存控制:无缓存 缓存控制:必须重新验证 浏览器希望将所有其他巧妙的方式解释为指令以避免缓存。 是否有没有缓存的中间件或类似的东西可以以最少的代码入侵来解决问题?
69 django  caching 

2
如何为Django视图编写单元测试?
我在理解应该如何为Django设计单元测试方面遇到问题。 从我的理解来看,一次性测试整个视图似乎是不可能的。我们需要区分请求的发布前和发布后状态。但是我不知道该如何设计。有没有现实生活中的例子? 查看文档,这些示例过于简化,仅关注模型。 @login_required def call_view(request, contact_id): profile = request.user.get_profile() if request.POST: form = CallsForm(profile.company, request.POST) if form.is_valid() return HttpResponseRedirect('/contact/' + contact_id + '/calls/') else: form = CallsForm(profile.company, instance=call) variables = RequestContext(request, {'form':form} return render_to_response('conversation.html', variables) 更新: 尝试使成功的测试工作成功,但仍然失败: def test_contact_view_success(self): # same again, but with valid data, then self.client.login(username='username1', password='password1') …

14
Django 1.7升级错误:AppRegistryNotReady:应用尚未加载
我正在尝试将项目从Django 1.6升级到1.7。我收到以下错误: [Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] mod_wsgi (pid=14523): Exception occurred processing WSGI script '/home/users1/k/kisvadim/domains/mathtasks.org/django.wsgi'. [Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] Traceback (most recent call last): [Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 187, in __call__ [Thu Oct 09 14:16:41 2014] …

2
Django查询相关字段计数
我有一个应用程序,用户可以在其中创建页面。我想运行一个简单的数据库查询,该查询返回创建了2个以上页面的用户数。 这本质上是我想要做的,但是当然这不是正确的方法: User.objects.select_related('page__gte=2').count() 我想念什么?

3
Gunicorn,没有名为“ myproject”的模块
我正在新服务器上安装以前建立的网站。我不是原始开发人员。 过去,我曾使用Gunicorn + nginx来使该应用程序保持活动状态(基本上在本教程之后),但是在这里遇到了问题。 I source venv/bin/activate,然后./manage.py runserver 0.0.0.0:8000运行良好,一切都按预期运行。我将其关闭并运行gunicorn --bind 0.0.0.0:8000 myproject.wsgi:application,得到以下信息: [2016-09-13 01:11:47 +0000] [15259] [INFO] Starting gunicorn 19.6.0 [2016-09-13 01:11:47 +0000] [15259] [INFO] Listening at: http://0.0.0.0:8000 (15259) [2016-09-13 01:11:47 +0000] [15259] [INFO] Using worker: sync [2016-09-13 01:11:47 +0000] [15262] [INFO] Booting worker with pid: 15262 [2016-09-13 01:11:47 +0000] …


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.