我想知道如何实现高级排序函数,我可以将它作为元组元素传递给python'sorted'函数的key参数.
这是一个描述我想做的事情的例子:
class Book:
def __init__(self, name, author, language, cost):
self.name = name
self.author = author
self.language=language
self.cost = cost
bookList = [list of books]
firstLanguage = "Armenian"
possibleLanguages = ["English", "Spanish", "Armenian", "French", "Chinese", "Swahili"]
possibleLanguages.remove("Armenian")
sortedBookList = sorted(bookList, key=(sortByName,
sortByFirstLanguage(firstLanguage), sortByLanguages(possibleLanguages) ))
Run Code Online (Sandbox Code Playgroud)
基本上我想实现上面描述的'sortByFirstLanguage'和'sortByLanguages'函数,这样我就可以将它们作为'key'参数的元组项传递给python'sorted'函数.下面是一些关于自定义排序函数应该是什么样子的示例代码:
def sortByName(elem):
return elem.name
def sortByFirstLanguage(elem, firstLanguage):
if elem.language == firstLanguage:
return 1
else:
return -1
def sortByLanguages(elem, possibleLanguages):
if elem.language in possibleLanguages:
return possibleLanguages.index(elem.language)
Run Code Online (Sandbox Code Playgroud)
我如何告诉'key'参数将额外的参数'firstLanguage'&&'possibleLanguages'传递给自定义排序函数,如上所示?
我的Django应用程序位于@ www.name-of-app.rhcloud.comThrough dns-provider.comI own:www.name-of-app.com
CName设置如下:
name-of-app.com重定向到www.name-of-app.com,www.name-of-app.com设置为CNAME别名www.name-of-app.rhcloud.com
现在,如果我尝试从任何浏览器访问www.name-of-app.com,我收到"错误请求(400)"错误.
我玩过以下设置:
www.name-of-app.com到www.name-of-app.rhcloud.com,但在切换回CNAME后,我遇到了同样的错误.www.name-of-app.com-a myApp如果我从我的开发工作站运行主机命令,我看到别名已正确设置.
cmd:host www.name-of-app.com (first 2 lines of output are listed below):www.name-of-app.com is an alias forname-of-app.rhcloud.com .name-of-app.rhcloud.com is an alias forex-std-nodeXXX.prod.rhcloud.com `.
我正在与之合作dns-provider.com,但他们还没有提出任何问题.
如何解决此CNAME问题?在特定时刻,这似乎超出了我的控制范围,超出了我的专业领域.
我想知道如何访问模板代码中的外键字段。
鉴于示例 models.py 代码:
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
class Book(models.Model):
title = models.CharField(max_length=100)
publisher = models.ForeignKey(Publisher)
Run Code Online (Sandbox Code Playgroud)
和示例 forms.py 代码:
class BookForm(ModelForm):
class Meta:
model = Book
fields = ['title', 'publisher']
Run Code Online (Sandbox Code Playgroud)
和示例 views.py 代码:
def sample(request):
bf = BookForm(request.POST)
return render(request, 'sample.html', {'BookForm': bf})
Run Code Online (Sandbox Code Playgroud)
使用“BookForm”从模板代码中正确访问值:publisher.name所需的代码行是什么?
我想在Python脚本中使用诸如SOX之类的工具将.pcm文件转换为.wav文件.该工具需要跨平台兼容(Windows和Linux).有什么建议?
我正在尝试为我的 Django 应用程序选择一个支付处理解决方案,并想知道一些好的通用解决方案。
以下看起来相当有希望:
https://www.djangopackages.com/grids/g/payment-processing/(通用解决方案) https://github.com/johnboxall/django-paypal(仅限paypal)
这是问题的一个有点过时的版本的链接:Django 支付处理
什么是/是一些用于支付处理的安全和当前的 Django 应用程序解决方案?
我想通过以下提供的示例来创建嵌套表单:
http://yergler.net/blog/2009/09/27/nested-formsets-with-django/
此页面上的教程似乎非常好&&它正在尝试解决我遇到的确切问题。
当没有 POST 请求数据(即我们从数据库执行初始填充)时,views.py 文件中的此实现似乎存在问题。
代码可以在上面提供的 URL 中看到(如果需要,我可以发布一些代码,但我担心它会影响这里提供的信息)。
这是失败的 views.py 代码(以粗体显示):
block = get_object_or_404(models.Block, id=block_id)
if request.method == 'POST':
formset = forms.BuildingFormset(request.POST, instance=block)
if formset.is_valid():
rooms = formset.save_all()
return redirect('block_view', block_id=block.id)
else:
formset = forms.BuildingFormset(instance=block) #This is the line that is throwing the ValidationError
Run Code Online (Sandbox Code Playgroud)
我收到的错误消息是:
ValidationError at "urlName":
[u'ManagementForm data is missing or has been tampered with']
Run Code Online (Sandbox Code Playgroud)
我已经挖得更深了,看来这个失败发生在 site-packages/django/forms/formsets.py 行
该is_valid()检查失败,因为一些managementform所需的数据(形状TOTAL_FORMS的,形状和INITIAL_FORMS形状MAX_NUM_FORMS)是无效的。下面是 self.errors 的实际输出:
{u'TOTAL_FORMS': [u'This field is required.'], u'INITIAL_FORMS': [u'This field is required.']}
Run Code Online (Sandbox Code Playgroud)
edit_building.html: …
我有一个使用Django构建的网站,我遇到了以下难题.我有一封后端电子邮件,我们称之为luckyducky@gmail.com.现在我还有一个域名电子邮件,直接转发到luckyduck@gmail.com,名为support@luckyducky.com.
目前我的Django Email设置如下:
EMAIL_HOST_USER="luckyducky@gmail.com"
EMAIL_HOST_PASSWORD="password"
Run Code Online (Sandbox Code Playgroud)
这很好,但我希望从'support@luckyducky.com'发送电子邮件.
包括Python社区作为一个整体,也许问题可以在Django邮件包装器函数之外解决.
如何设置此重定向?这意味着,当我在Django后端配置的真正电子邮件是luckyducky@gmail.com时,如何在别名"support@luckyducky.com"下发送电子邮件?
django ×5
python ×4
django-forms ×2
audio ×1
cname ×1
django-email ×1
django-views ×1
dns ×1
linux ×1
openshift ×1
python-2.7 ×1
scripting ×1
sorting ×1
windows ×1