Questions tagged «django»

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



1
重写AppConfig.ready()
尝试了解Django的基础知识。即应用程序如何工作。docs:https : //docs.djangoproject.com/zh-CN/stable/ref/applications/#methods 在类AppConfig的代码中,我们可以看到: def ready(self): """ Override this method in subclasses to run code when Django starts. """ 好吧,这是我的例子: my_app / apps.py class MyAppConfig(AppConfig): name = 'my_app' def ready(self): print('My app') 我只是想让现成的方法起作用。也就是说,当Django找到my_app时,让它运行ready方法。 该应用已在INSTALLED_APPS中注册。 我执行'python manage.py runserver'。并没有打印任何内容。 如果我在ready方法中放置一个断点,则调试器不会在那里停下来。 您能帮我吗?我在这里理解的错误是什么?先感谢您。 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'my_app', ] …
76 django 

2
服务器上的自动django接收钩子:单击“是”响应collectstatic
我正在使用Github接收后钩子来运行一个bash文件,该文件同时提取我的仓库。 #!/bin/sh cd ~/public_html/repo_static env -i /usr/bin/git pull origin master cd ~/django-code/repo_django env -i /usr/bin/git pull origin master 我也想collectstatic在Django回购上。如何自动对“是”作出回应? 我无法使用Fabric,因为不幸的是,该团队暂时选择使用Python 2.4。没有Fabric,有没有办法自动使静电消除?
76 django  git  hook 

5
将请求上下文从Django Rest Framework中的Viewset传递给序列化器
我有一种情况,其中序列化器字段的值取决于当前登录用户的身份。我已经看到了在初始化序列化程序时如何将用户添加到上下文中,但是我不确定在使用ViewSet时如何执行此操作,因为您仅提供序列化程序类而不提供实际的序列化程序实例。 基本上我想知道如何去: class myModelViewSet(ModelViewSet): queryset = myModel.objects.all() permission_classes = [DjangoModelPermissions] serializer_class = myModelSerializer 至: class myModelSerializer(serializers.ModelSerializer): uploaded_by = serializers.SerializerMethodField() special_field = serializers.SerializerMethodField() class Meta: model = myModel def get_special_field(self, obj): if self.context['request'].user.has_perm('something.add_something'): return something 很抱歉,如果不清楚,请参阅DOC: 添加额外的上下文 说明 serializer = AccountSerializer(account, context={'request': request}) serializer.data 但是我不确定如何从视图集中自动执行此操作,因为我只能更改序列化程序类,而不能更改序列化程序实例本身。

8
Django:向查询添加“ NULLS LAST”
我想通过使用Postgresql的“ NULLS LAST”选项对模型进行排序。怎么做? 我尝试了类似的东西 MyModel.objects.all().extra(order_by=('-price', 'NULLS LAST')) 但是我明白了 “无法将关键字'NULLS LAST'解析为字段”
76 python  sql  django 

1
Django SUM查询?
我有一个类似于以下的查询: SELECT SUM(ISNULL(table.name)) FROM table 在Django中如何将其SUM转换为QuerySet?即xyz它转换成什么样的运算MyModel.objects.xyz()?


8
Django本地设置
我正在尝试在Django 1.2中使用local_setting ,但对我来说不起作用。目前,我只是将local_settings.py添加到我的项目中。 settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 'NAME': 'banco1', # Or path to database file if using sqlite3. 'USER': 'root', # Not used with sqlite3. 'PASSWORD': '123', # Not used with sqlite3. 'HOST': 'localhost', # Set to empty …

10
在admin中以内联形式限制select中的外键选择
该模型的逻辑是: 一个Building有很多Rooms ARoom可能在另一个内部Room(例如壁橱-“ self”上的ForeignKey) ARoom只能Room位于同一建筑物的另一个内部(这是棘手的部分) 这是我的代码: #spaces/models.py from django.db import models class Building(models.Model): name=models.CharField(max_length=32) def __unicode__(self): return self.name class Room(models.Model): number=models.CharField(max_length=8) building=models.ForeignKey(Building) inside_room=models.ForeignKey('self',blank=True,null=True) def __unicode__(self): return self.number 和: #spaces/admin.py from ex.spaces.models import Building, Room from django.contrib import admin class RoomAdmin(admin.ModelAdmin): pass class RoomInline(admin.TabularInline): model = Room extra = 2 class …

5
如何在Django中模拟用户和请求
我有与请求对象或用户对象进行交互的Django代码。例如: foo_model_instance = models.get_or_create_foo_from_user(request.user) 如果要使用django python shell进行测试或在单元测试中进行测试,您将在其中传递什么?这里只是一个User对象即可,但是对模拟请求对象的需求也经常出现。 对于外壳程序或单元测试: 您如何嘲笑用户? 您如何模拟请求?

11
Django模板中的逗号分隔列表
如果fruits是清单['apples', 'oranges', 'pears'], 有没有一种使用Django模板标签生成“苹果,橘子和梨”的快速方法? 我知道使用循环和{% if counter.last %}语句执行此操作并不难,但是由于我将反复使用它,所以我认为我将必须学习如何编写自定义标签 过滤器,如果已经完成,我不想重新发明轮子。 作为扩展,我尝试删除牛津逗号(即返回“苹果,橘子和梨”)的操作更加混乱。

1
简单的留言簿django:__init __()接受1个位置参数,但给定2个
我是Django的新手,正在尝试制作一个简单的留言簿应用程序以适应环境。我收到以下错误,但找不到错误: 异常值:_ init _()接受1个位置参数,但给出了2个。 from django.db import models from django.contrib.auth.models import User from django.contrib import admin class Bericht(models.Model): titel = models.CharField(max_length=50) auteur = models.ForeignKey(User, blank=True) email = models.EmailField(max_length=75) inhoud = models.TextField(max_length=10000, blank=True) datum = models.DateTimeField(auto_now_add=True) def __str__(self): return str(self.auteur) + " : " + str(self.titel) class Meta: verbose_name_plural = "berichten" …
75 python  django 

6
Django REST Framework自定义字段验证
我正在尝试为模型创建自定义验证,以检查它start_date是否在模型之前end_date,并且证明几乎不可能。 我尝试过的东西: 内置的Django验证程序:无需检查 像这样写我自己的: def validate_date(self): if self.start_date < self.end_date: raise serializers.ValidationError("End date must be after start date.") 我已经将这些代码添加到Serializer类(然后添加到模型)中,但是似乎在任何一个位置都没有调用它。 我也发现这个代码,可能是使用的位,但我不知道如何在我的方法-整合似乎是它的工作来验证一个模型属性,但我需要两个属性之间的检查。 我的模特: class MyModel(models.Model): created = models.DateTimeField(auto_now_add=True) relation_model = models.ForeignKey(RelationModel, related_name="mymodels") priority = models.IntegerField( validators = [validators.MinValueValidator(0), validators.MaxValueValidator(100)]) start_date = models.DateField() end_date = models.DateField() @property def is_active(self): today = datetime.date.today() return …

5
Django:固定长度的CharField,如何?
我希望模型中具有固定长度的CharField。换句话说,我希望仅指定的长度有效。 我试图做类似的事情 volumenumber = models.CharField('Volume Number', max_length=4, min_length=4) 但这给了我一个错误(似乎我可以同时使用max_length和min_length)。 还有另一种快速方法吗? 谢谢 编辑: 遵循一些人的建议,我会更具体一些: 我的模型是这样的: class Volume(models.Model): vid = models.AutoField(primary_key=True) jid = models.ForeignKey(Journals, db_column='jid', null=True, verbose_name = "Journal") volumenumber = models.CharField('Volume Number') date_publication = models.CharField('Date of Publication', max_length=6, blank=True) class Meta: db_table = u'volume' verbose_name = "Volume" ordering = ['jid', 'volumenumber'] …

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.