我有以下类来创建一副牌:
import collections
Card = collections.namedtuple('Card', ['rank', 'suit', 'value'])
class FrenchDeck:
ranks = [str(n) for n in range(2, 11)] + list('JQKA')
suits = 'spades clubs hearts diamonds'.split()
card_value = [str(n + 1) for n in range(len(ranks))]
def __init__(self):
self._cards = [Card(rank, suit, value)
for suit in self.suits
for rank in self.ranks
for value in self.card_value
]
def __len__(self):
return len(self._cards)
def __getitem__(self, position):
return self._cards[position]
if __name__ == '__main__':
FrenchDeck()
Run Code Online (Sandbox Code Playgroud)
我已将value
值添加到卡中,以便为每张卡分配一个值,如下所示:
Card(rank='2', suit='spades', value='1')
Card(rank='2', suit='spades', value='2')
Card(rank='2', …
Run Code Online (Sandbox Code Playgroud) 我想使用forms.ModelChoiceField
. 我已经阅读了很多关于这个主题的文档,但事实证明它很难达到预期的结果!
这是我的代码。
我有这个表格:
表格.py
from django import forms
from asset_db.models import Profiles
class SubmitJob(forms.Form):
material_id = forms.CharField(max_length=8)
workflow = forms.ModelChoiceField(queryset=Profiles.objects.distinct('name'))
start_datepicker = forms.CharField(max_length=12)
end_datepicker = forms.CharField(max_length=12)
Run Code Online (Sandbox Code Playgroud)
这个型号:
class Profiles(models.Model):
id = models.DecimalField(6).auto_creation_counter
name = models.CharField(max_length=256, default='null')
target_path = models.CharField(max_length=256, default='null')
target_profile = models.TextField(max_length=1024, default='null')
package_type = models.CharField(max_length=256, default='null')
video_naming_convention = models.CharField(max_length=256, default='null')
image_naming_convention = models.CharField(max_length=256, default='null')
package_naming_convention = models.CharField(max_length=256, default='null')
def __str__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
这是 HTML 输出:
<p><label for="id_workflow">Workflow:</label> <select id="id_workflow" name="workflow" required>
<option value="" selected="selected">---------</option>
<option …
Run Code Online (Sandbox Code Playgroud) 我有以下模型、视图和模板:
模型.py:
class Batch(models.Model):
material_id = models.ManyToManyField(AssetMetadata)
user = models.ForeignKey(User)
def __str__(self):
return 'Batch_' + str(self.pk) + '_' + self.user.username
class AssetMetadata(models.Model):
material_id = models.CharField(max_length=256, blank=True)
series_title = models.CharField(max_length=256, blank=True)
season_title = models.CharField(max_length=256, blank=True)
season_number = models.IntegerField(default=0)
episode_title = models.CharField(max_length=256, blank=True)
episode_number = models.IntegerField(default=0)
synopsis = models.TextField(max_length=1024, blank=True)
ratings = models.CharField(max_length=256, blank=True)
def __str__(self):
return self.material_id
Run Code Online (Sandbox Code Playgroud)
视图.py:
def assets_in_repo(request):
asset_list = AssetMetadata.objects.order_by('id').all()
page = request.GET.get('page', 1)
paginator = Paginator(asset_list, 50)
try:
assets = paginator.page(page)
except PageNotAnInteger:
assets = paginator.page(1)
except …
Run Code Online (Sandbox Code Playgroud) 我有搜索堆栈溢出和谷歌搜索到这个问题的解决方案,遗憾的是我还没有找到解决方案.
我想用另一个列表中的字符串值替换列表中存储的字符串的值.
例如,我有两个列表:
list_a = ['file_x', 'file_x', 'file_x', 'file_x']
list_b = ['1', '2', '3', '4']
Run Code Online (Sandbox Code Playgroud)
我希望结果返回:
list_c =['file_1', 'file_2', 'file_3', 'file_4']
Run Code Online (Sandbox Code Playgroud)
我是python的新手,我正在努力做到这一点,我尝试使用for循环和str.replace()但我不知道如何匹配每个数组的键值并替换'x'的每个元素list_a,其中包含list_b元素的字符串值.
任何有关这方面的帮助将不胜感激.
我有这个IF,OR声明:
a = 1
b = 2
c = 3
d = 4
if a == 5 or b == 5 or c == 5 or d == 5:
# do something
else:
# do something different
Run Code Online (Sandbox Code Playgroud)
我想知道这是不是最好的写作方式?
这是我的代码
file_name = Dir['path/xml/test/*.txt']
file_name.to_s # => ["path/xml/test/test.txt"]
Run Code Online (Sandbox Code Playgroud)
我想回来:
"test"
Run Code Online (Sandbox Code Playgroud)
我可以使用下面的代码:
file_name = Dir['path/xml/test/*.txt']
file_name.to_s[15,60].gsub(/.txt["]/,"").gsub(/]/,"")
Run Code Online (Sandbox Code Playgroud)
但它不是很优雅.是否有更优雅的方式只返回文件名没有.txt
和[]
?