我想知道我是否可以得到你的帮助。
我有一个 urls.py,其中包含以下内容:
router = routers.SimpleRouter()
# AccountViewSet in accounts app
router.register(r'accounts', AccountViewSet)
# ProjectViewSet in projects app
router.register(r'projects', ProjectViewSet)
accounts_router = routers.NestedSimpleRouter(router, r'accounts', lookup='account')
# AccountProjectsViewSet in projects app
accounts_router.register(r'projects', AccountProjectsViewSet)
Run Code Online (Sandbox Code Playgroud)
如您所见,由于嵌套路由,帐户和项目之间的联系非常紧密。
我想将帐户路由逻辑移到accounts/urls.py,将项目路由逻辑移到projects/urls.py。
到目前为止,我在这方面的尝试导致以下错误:
RuntimeError: parent registered resource not found
Run Code Online (Sandbox Code Playgroud)
甚至可以将这个逻辑分开,还是需要在一起?
谢谢你的建议。
我认为用一个例子来解释这是最容易的.
假设我在这样的网页上有一个列表:
word one, word two, word three, word four, word five, word six
Run Code Online (Sandbox Code Playgroud)
如果用户的屏幕分辨率较小,列表最终可能会像这样包装:
word one, word two, word three, word four, word five,
word six
Run Code Online (Sandbox Code Playgroud)
如您所见,第一行末尾有一个逗号.我想改变它,所以如果发生这样的事情,隐藏逗号.这意味着它看起来像这样:
word one, word two, word three, word four, word five
word six
Run Code Online (Sandbox Code Playgroud)
有没有办法用CSS或Javascript做到这一点?
谢谢你的帮助.
我在用django_enumfield
我的模型如下所示:
class GenderValues(enum.Enum):
NONE = 0
MALE = 1
FEMALE = 2
BOTH = 3
class Gender(models.Model):
gender = enum.EnumField(GenderValues, default=GenderValues.NONE)
def __str__(self):
return self.gender
Run Code Online (Sandbox Code Playgroud)
我已经在管理区域中公开了该模型,如下所示:
admin.site.register(Gender)
Run Code Online (Sandbox Code Playgroud)
然后我可以转到管理区域并添加性别。
问题:
性别显示为数字(例如,如果我选择“男性”,则为 1)而不是“男性”。
注意我已经尝试向 GenderValues 添加一个标签,如下所示,但没有什么区别:
labels = {
MALE: 'Male',
}
Run Code Online (Sandbox Code Playgroud)
你知道如何在管理区域中显示“MALE”或“Male”而不是 1 吗?
谢谢。
我知道在管理区域中显示外键字段很容易,但是如果使用 through ,我如何显示多对多关系的字段?
模型.py:
class Pizza(models.Model):
toppings = models.ManyToManyField(Topping, through='PizzaTopping')
class Topping(models.Model):
topping = models.CharField(max_length=255)
class PizzaTopping(models.Model):
pizza = models.ForeignKey(Pizza)
topping = models.ForeignKey(Topping)
Run Code Online (Sandbox Code Playgroud)
管理.py:
class PizzaAdmin(admin.ModelAdmin):
fieldsets = (
(None, {
'fields': ('toppings')
}),
})
)
Run Code Online (Sandbox Code Playgroud)
这会产生以下错误:
<class 'pizzas.admin.PizzaAdmin'>: (admin.E013) The value of 'fieldsets[0][1]["fields"]' cannot include the many-to-many field 'toppings' because that field manually specifies a relationship model.
Run Code Online (Sandbox Code Playgroud)
我想显示一个框或列表框,它允许我选择一个浇头。
这可能吗?
谢谢
我已经被困在这几天了,这让我发疯了.
我这样叫我的scrapy蜘蛛:
scrapy crawl example -a follow_links="True"
Run Code Online (Sandbox Code Playgroud)
我传入"follow_links"标志来确定是否应该删除整个网站,或者只是我在蜘蛛中定义的索引页面.
在spider的构造函数中检查此标志以查看应设置的规则:
def __init__(self, *args, **kwargs):
super(ExampleSpider, self).__init__(*args, **kwargs)
self.follow_links = kwargs.get('follow_links')
if self.follow_links == "True":
self.rules = (
Rule(LinkExtractor(allow=()), callback="parse_pages", follow=True),
)
else:
self.rules = (
Rule(LinkExtractor(deny=(r'[a-zA-Z0-9]*')), callback="parse_pages", follow=False),
)
Run Code Online (Sandbox Code Playgroud)
如果它是"真",则允许所有链接; 如果它是"假",则所有链接都被拒绝.
到目前为止,这么好,但这些规则被忽略了.我可以获得遵循规则的唯一方法是在构造函数之外定义它们.这意味着,像这样的东西会正常工作:
class ExampleSpider(CrawlSpider):
rules = (
Rule(LinkExtractor(deny=(r'[a-zA-Z0-9]*')), callback="parse_pages", follow=False),
)
def __init__(self, *args, **kwargs):
...
Run Code Online (Sandbox Code Playgroud)
所以基本上,在__init__构造函数中定义规则会导致规则被忽略,而在构造函数之外定义规则会按预期工作.
我不明白这.我的代码如下.
import re
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
from w3lib.html import remove_tags, remove_comments, replace_escape_chars, replace_entities, remove_tags_with_content …Run Code Online (Sandbox Code Playgroud) 在管理区域中为模型定义添加视图和更改视图的字段集时,可以最小化这样的部分:
class User(admin.ModelAdmin):
fieldsets = (
('First Heading', {
'classes': ('collapse',),
'fields': ('one', 'two')
}),
('Second Heading', {
'fields': ('three',)
}),
)
Run Code Online (Sandbox Code Playgroud)
重要的一点是'classes': ('collapse',)。
我已将 TabularInline 对象添加到管理屏幕之一。基本上,当我编辑用户时,我可以看到他的朋友列表。
我希望 TabularInline 对象最初被折叠,类似于 'classes': ('collapse',).
我已经尝试向 TabularInine 类添加一个字段集元组,但它没有任何区别:
class Friends(admin.TabularInline):
model = Friend
fieldsets = (
('Friends', {
'classes': ('collapse',),
'fields': ('name',)
}),
)
Run Code Online (Sandbox Code Playgroud)
你能帮我吗?
谢谢你。
django ×4
django-admin ×2
css ×1
django-forms ×1
django-urls ×1
javascript ×1
python ×1
scrapy ×1