我正在尝试通过ssh启动测试服务器但是一旦我从ssh断开连接它总是会死掉.
有没有办法启动进程(运行服务器)所以它不会在我的ssh会话结束时死亡?
有没有办法在django中进行行级权限?我以为没有,只是在文档中注意到了这一点:
权限不仅可以针对每种类型的对象进行设置,还可以针对特定对象实例进行设置.通过使用ModelAdmin类提供的has_add_permission(),has_change_permission()和has_delete_permission()方法,可以为同一类型的不同对象实例自定义权限.
https://docs.djangoproject.com/en/dev/topics/auth/
但我没有看到任何关于如何实际实现每个实例权限的文档
我应该尝试最小化模板包含吗?我一直在使用它们,但我想知道它们是否效率低或者在渲染模板时增加了一些开销?
在某些情况下,我的模板包含其他模板的模板.
有没有办法在Django中为对象设置id值的计数器?
例如,我有一组对象'视频'当前在id = 100,下次我创建一个'Video'类型的对象时,它将是id = 101.但是我希望所有新创建的Video对象都以id = 2000开头.有没有办法做到这一点?
我对使用Django自定义模型管理器的正确方法感到困惑 - 基于文档,您可以为一个模型创建一系列管理器作为过滤方式.但是为什么不创建一个具有一系列过滤功能的管理器类?一种方法比另一种更好吗?为什么?
例如:
class MaleManager(models.Manager):
def get_query_set(self):
return super(MaleManager, self).get_query_set().filter(sex='M')
class FemaleManager(models.Manager):
def get_query_set(self):
return super(FemaleManager, self).get_query_set().filter(sex='F')
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
sex = models.CharField(max_length=1, choices=(('M', 'Male'), ('F', 'Female')))
people = models.Manager()
men = MaleManager()
women = FemaleManager()
Run Code Online (Sandbox Code Playgroud)
与
class PersonManager(models.Manager):
def males(self):
return super(MaleManager, self).get_query_set().filter(sex='M')
def females(self):
return super(FemaleManager, self).get_query_set().filter(sex='F')
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
sex = models.CharField(max_length=1, choices=(('M', 'Male'), ('F', 'Female')))
people = PersonManager()
Person.people.females() # to get list of females …
Run Code Online (Sandbox Code Playgroud) 我正在尝试这样做:
from django.db.models.fields.related import RelatedManager
Run Code Online (Sandbox Code Playgroud)
因为我希望能够测试一个对象是否是一个相关的经理,即:
isinstance(obj, RelatedManager)
Run Code Online (Sandbox Code Playgroud)
但是我一直收到这个错误:错误:无法导入名称RelatedManager
有没有办法在django模板中获取给定数字的多个数字?
例如:
{{ some_num|get_digit:2 }}
Run Code Online (Sandbox Code Playgroud)
会给你第二个最右边的数字.对于1224531,它将是3
有没有办法获得最后3位数或前5位数?像python的切片?
就像是:
{{ some_num|get_digits:2,5}}
Run Code Online (Sandbox Code Playgroud) 在Django中,为具有"admin"权限的用户实现具有额外功能的模板的最佳方式是什么.
我不确定是否应该为管理员创建一组完全不同的视图,或者将其集成到我现有的视图和模板中,例如"if user is a admin".
在Django中有标准的方法吗?
在给定该模型实例的json表示的情况下,django更新模型实例的最佳方法是什么.
使用反序列化正确的方法?那里有教程吗?
您如何确保用户只能编辑他们创建的对象?设置它的最佳方法是什么?
我正在使用django-rest-framework,并想知道是否有办法限制用户查看/编辑他们不"拥有"的对象.
class Video(models.Model):
owner = models.ForeignKey(User)
...
Run Code Online (Sandbox Code Playgroud)
因此,用户'x'应该只能在其owner_set中编辑视频.