通过Django教程,我看到了以下语法:
from .models import Recipe, Ingredient, Instruction
Run Code Online (Sandbox Code Playgroud)
有人可以解释.models的工作方式/它的作用是什么吗?通常我有:
from myapp.models import
Run Code Online (Sandbox Code Playgroud)
如果没有myapp部分在.models之前它如何工作?
在身份验证表单中查看一些Django代码,我注意到以下语法
label=_("Username")
Run Code Online (Sandbox Code Playgroud)
通常我会在字符串周围使用一对引号.有人可以向我展示"用户名"周围的下划线和括号吗?
(我知道有一个与此相同的标题,但问题不同).
我设法使我的开发机器迁移和生产迁移不同步.
我有一个使用South的Django应用程序.我有自己的工作流程,工作正常(这可能不是正确的做事方式,但我没有遇到任何问题).
基本上我有一个脚本将生产数据库转储复制到我的开发机器.它还复制了迁移文件.这样两者是同步的,我可以照常运行南方命令.
现在我已升级到1.7,并开始使用迁移.当我使用以前的工作流程(复制数据库转储和生产中的迁移文件)时,它不会检测我的开发计算机上的更改.
我已经阅读了迁移文档,我发现使用它的正确方法是
无论如何.现在一切都搞得一团糟.我想"重置"我的迁移并从头开始,从现在开始做正确的事情.
我需要做什么?
我错过了什么吗?是否有理由为什么从生产(数据库和迁移文件)复制所有内容后,我的开发机器上都没有检测到任何更改
我理解整数和浮点数据类型是如何存储的,我猜测十进制数据类型的可变长度意味着它更像是一个字符串存储.
当使用十进制数据类型并搜索它们时,这是否意味着性能开销?
我有一个Django动作函数,我想在基于不同模型的查询集上使用它.
检查我的查询集组成的模型类型的最佳方法是什么?假设我想检查我的models.py中定义的Library类
目前我可以使用它
for object in queryset :
if object.__class__.__name__ == "Library"
Run Code Online (Sandbox Code Playgroud)
但我相信有更好的方法可以做到这一点.
我假设我使用queryset.model做某事.我尝试了以下内容,但它没有按照我的要求做到:
import myapp.models.Library
def my function(modeladmin,request queryset )
if isinstance(queryset.model , Library ) :
# do something specific here
Run Code Online (Sandbox Code Playgroud) 我想通过pip安装Django 1.7.它目前是一个开发版本,因此不在pips存储库中.
所以我在使用之前已经从github安装了包:
pip install git+[url here]
Run Code Online (Sandbox Code Playgroud)
现在看github,我在django页面上获得了克隆url:
https://github.com/django/django.git
Run Code Online (Sandbox Code Playgroud)
但是这没有提及分支.如何指定我想要1.7版本?它是否在github页面上显而易见?
我习惯在Python中有这样的函数/方法定义:
def my_function(arg1=None , arg2='default'):
... do stuff here
Run Code Online (Sandbox Code Playgroud)
如果我不提供arg1(或arg2)则None分配默认值(或''default').
我可以像这样指定关键字参数,但没有默认值吗?如果没有提供参数,我希望它会引发错误.
我正在尝试在 Django 中实现一个 FormView,因为它似乎减少了一些样板代码。其中一个字段是文件上传字段。
class LibraryUploadLastStageForm(forms.Form):
technician = forms.ModelChoiceField(label="prepeared by" , queryset=Technician.objects.exclude(has_left=True).order_by('name') , required=True)
subprojects = forms.ModelChoiceField(label="Choose a subproject" , queryset=Subproject.objects.all().order_by('subproject_name') , required=True)
lab_tracking_excel = forms.FileField(label="Choose the Lab Tracking Excel - protocol details associated with these libraries", required=False)
Run Code Online (Sandbox Code Playgroud)
在 views.py 中,
class LibraryUploadFinalView(FormView):
template_name = 'sequencing/ChooseSomething.html'
form_class = LibraryUploadLastStageForm
def form_valid(self, form):
"""
Update the library technician, and create the librarysubproject links
"""
id_list_str = self.request.GET.get('ids')
ids = map(int , id_list_str.split(','))
libraries = Library.objects.filter(id__in=ids)
print libraries.count()
cd = form.cleaned_data
lib_kwargs …Run Code Online (Sandbox Code Playgroud) 我试图让Angular UI bootstraps typeahead使用我设置的REST资源.但我不确定如何使用它的异步特性.
目前我已经调整了Angular UI Bootstrap给出的示例.
所以我的html看起来像这样,调用getLibs()来获取typeahead下拉列表.
<div class='container-fluid' ng-controller="TypeaheadCtrl">
<pre>Model: {{selected| json}}</pre>
<input type="text" typeahead="lib.name for lib in getLibs($viewValue)" active='active' ng-model="selected" typeahead-min-length='3' >
</div>
Run Code Online (Sandbox Code Playgroud)
我的资源看起来像这样:
angular.module('LibraryLookupService', ['ngResource']).factory('Library',
function($resource){
return $resource( "../../api/seq/library/?name__icontains=:searchStr" , {} ,
{ 'get': {method:'GET'},
'query': {method:'GET', params: {} , isArray:false },
}
)
}
Run Code Online (Sandbox Code Playgroud)
);
我的控制器看起来像这样(我猜它在这里我做的事情不正确):
function TypeaheadCtrl($scope , Library){
$scope.selected = undefined;
$scope.active = undefined ;
$scope.libs = [{name:'initial'} , {name:"values"}];
$scope.getLibs = function(viewValue){
console.log("value:", viewValue);
if (viewValue.length > 3 ) {
var return_vals …Run Code Online (Sandbox Code Playgroud) 我有一个Django Tastypie API设置.
我想查询数据库中与名称匹配的对象的数量.
这在现有模型资源上是否可行,或者我是否需要设置新资源来处理此特定情况?(此数据通常在结果的元数据部分返回?是否只有一个选项可以从参数中返回?)
所以,如果我的网址通常是这样的:
http://127.0.0.1:8000/api/v1/library/?name__icontains=ABC
Run Code Online (Sandbox Code Playgroud)
我可以添加一个参数或更改网址,以便它只返回元数据(我只想返回名称中包含"ABC"的库的数量)而不是所有对象吗?
django ×5
python ×4
action ×1
angularjs ×1
asynchronous ×1
database ×1
django-south ×1
file-upload ×1
forms ×1
formview ×1
git ×1
github ×1
import ×1
kwargs ×1
migration ×1
mysql ×1
postgresql ×1
syntax ×1
tastypie ×1
types ×1