我试图在基于Django类的视图中处理两个表单.该站点包含一个名为form(基于GET)的表单,用于缩小ListView和第二个表单status_form(基于POST)的列表结果.
两个表单都是必需的,因为ListView返回一个项列表.Form让用户限制选择并status_forms让用户通过模态表单标记不正确的项目(因此它需要在同一模板中).
我的麻烦是,ListView方法没有post,但是FormView.我的类List继承自这两个类,但是当我执行该类时,我收到错误消息:
属性错误:'List'对象没有属性'status_form'
我该如何更改我的实现以允许通过post method?处理第二个表单?
class List(PaginationMixin, ListView, FormMixin):
model = ListModel
context_object_name = 'list_objects'
template_name = 'pages/list.html'
paginate_by = 10 #how may items per page
def get(self, request, *args, **kwargs):
self.form = ListSearchForm(self.request.GET or None,)
return super(List, self).get(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
self.status_form = StatusForm(self.request.POST or None)
if self.status_form.is_valid():
...
else:
return super(List, …Run Code Online (Sandbox Code Playgroud) python django formview django-class-based-views class-based-views
我用ember cli开始了我的第一个项目,我发现实时重新加载不起作用.当我启动开发服务器时,我收到多条错误消息(见下文).只有在重新启动服务器后才能更改代码库.
$ ember server
version: 0.1.2
Livereload server on port 35729
Serving on http://0.0.0.0:4200/
2014-12-03 17:51 ember[16491] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-21)
2014-12-03 17:51 ember[16491] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-21)
...
2014-12-03 17:51 ember[16491] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-21)
2014-12-03 17:51 ember[16491] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-21)
Build successful - 1180ms.
Slowest Trees | Total
-------------------------------+----------------
Concat | 368ms
ES6Concatenator | 150ms
ES3SafeFilter | 149ms
JSHint - …Run Code Online (Sandbox Code Playgroud) 我创建了一个用户应用程序MyUser,它是一个扩展AbstractBaseUser.我的印象是模型MyUser将取代标准Auth.User,只要它被提及settings.py
AUTH_PROFILE_MODULE ='profile.MyUser'
我现在的麻烦是我无法为在MyUser模型中注册的用户设置权限.当我尝试设置组成员身份和权限时,我收到错误User' instance expected, got <MyUser: username>.
如何将用户模型的用户添加到权限和正确的组?
class MyUserManager(BaseUserManager):
def create_user(self, username, email, phone, password=None, company=False):
if not email:
raise ValueError('Users must have an email address')
if not username: username = email.split('@')[0]
user = self.model(
email=MyUserManager.normalize_email(email),
username=username,phone=phone,)
user.set_password(password)
user.save(using=self._db)
# add to user group and set permissions
if company:
g = Group.objects.get(name='company')
p = Permission.objects.get(codename='add_company')
else:
g = Group.objects.get(name='user')
p = Permission.objects.get(codename='add_user')
g.user_set.add(user)
user.user_permissions.add(p)
return user …Run Code Online (Sandbox Code Playgroud) 我有一个模型管理器的简单模型:
class CompanyReviewManager(models.Manager):
def get_votes_for_company(self, company):
try:
return CompanyReview.objects.filter(user = user).count()
except ObjectDoesNotExist:
return None
def get_rating_for_field(self, installer, field):
try:
return CompanyReview.objects.filter(user = user).aggregate(Avg(field))
except ObjectDoesNotExist:
return None
class CompanyReview(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
satisfaction = models.PositiveSmallIntegerField(blank = True, null = True,)
comments = models.TextField(blank = True, null = True,)
objects = CompanyReviewManager()
def save(self, *args, **kwargs):
obj = super(InstallerReview, self).save(*args, **kwargs)
return obj
Run Code Online (Sandbox Code Playgroud)
当我现在尝试在Django shell中保存一个对象时,该对象将被保存,但不会返回任何内容.为什么?
In [1]: company_obj = InstallerReview()
In [2]: company_obj.user = CompanyUser.objects.all()[2]
In [3]: obj = company_obj.save() …Run Code Online (Sandbox Code Playgroud) 当我使用numpy方法计算内部收益率(irr)时irr,我收到nan了返回.
In [45]: numpy.irr([-10, 2, 2, 2, 2])
Out[45]: nan
Run Code Online (Sandbox Code Playgroud)
结果不应该至少是负面的吗?比方说-8%?当我试图更好地理解实现时,我查看了NumPy存储库的主分支,但实现对我没有任何意义.
评论和给定的文献无助于理解nan发布的条件.当我用另一个程序计算irr时,我得到了-8%的回报.
为什么NumPy返回nan上面的数组?
我已将 Keras 模型转换为 Tensorflow 估计器,将 Tensorflow Transform 添加到图中,然后导出模型以供服务。
当我检查模型签名时,我可以看到以下信息:
signature_def['serving_default']:
The given SavedModel SignatureDef contains the following input(s):
inputs['examples'] tensor_info:
dtype: DT_STRING
shape: (-1)
name: input_example_tensor:0
The given SavedModel SignatureDef contains the following output(s):
outputs['specialities'] tensor_info:
dtype: DT_FLOAT
shape: (-1, 154)
name: specialities/Softmax:0
Method name is: tensorflow/serving/predict
Run Code Online (Sandbox Code Playgroud)
我转换了特征规范,tf.estimator.export.build_parsing_serving_input_receiver_fn因此签名中输入节点的名称是example. 我的模型中输入节点的名称是procedures.
然后我使用saved_model_cli手动测试导出的模型,一切看起来都很好(我得到了一个概率列表)
!saved_model_cli run --dir=/model_dir/1533849825
--tag_set serve
--signature_def serving_default
--input_examples 'examples=[{"procedures": ["99214,17000,17000,13121,99203"]}]'
Run Code Online (Sandbox Code Playgroud)
现在,我将此模型加载到 TF Serving 中,模型服务器启动正常。
当我使用下面的 json 有效负载 (application/json) 请求模型预测时,我收到以下错误:
{
"signature_name":"serving_default",
"instances":[ …Run Code Online (Sandbox Code Playgroud) rest keras tensorflow tensorflow-serving tensorflow-estimator
我正在一个小的Django网站上工作,每个在网站上发表评论的用户都会收到一封带有密码的电子邮件(电子邮件是用户名),以便稍后更改评论.
该站点还应支持用户检索或重置密码的功能.对于这个简单的任务,我想使用Django auth功能.
是否有一个Django应用程序,它提供了一个简单的用户管理包(重置或更改用户的密码),我可以在我的网站中加入?
像Pinax或Drupal这样的包可以帮助完成这个简单的任务吗?他们似乎是矫枉过正.
我正在尝试编写一个Django CreateView(CBV),它取代用户id而不是用户电子邮件,并根据电子邮件确定(或创建)用户.
我的模型不包含任何特殊内容:
class Project(models.Model):
name = models.CharField(_('Title'), max_length=100,)
user = models.ForeignKey(User, verbose_name=_('user'),)
...
Run Code Online (Sandbox Code Playgroud)
我的forms.py将额外的电子邮件字段添加到表单中:
class ProjectCreateForm(forms.ModelForm):
email = forms.EmailField(required=True, )
class Meta:
model = Project
fields = ('name', ...,)
Run Code Online (Sandbox Code Playgroud)
在我的views.py中,我试图确定用户是否存在或是否应该创建.在这两种情况下,用户标识都应保存为Project实例的一部分.
class ProjectCreateDetails(CreateView):
form_class = ProjectCreateForm
template_name = '...'
success_url = reverse_lazy('login')
model = Project
def form_valid(self, form):
try:
user = User.objects.get(email=form.email)
except User.DoesNotExist:
user = User.objects.create_user(form.email, form.email, ''.join([random.choice(string.digits + string.letters) for i in range(0, 10)]))
user.save()
form.instance.user = user
return super(ProjectCreateDetails, self).form_valid(form)
Run Code Online (Sandbox Code Playgroud)
但是我面临一个错误'Solution' object has no attribute 'email' …
python forms django django-class-based-views class-based-views
我希望success_url在表单提交并有效后将其重定向到相同的表单.在线我找到了解决方案的描述,但是这个解决方案和我的其他代码选项会生成相同的错误消息.
Exception Value: 'NoneType' object has no attribute 'find'
Run Code Online (Sandbox Code Playgroud)
url(r'^pictures/(?P<id>\d+)/$', PictureUpload.as_view(), name='picture_upload'),
...
Run Code Online (Sandbox Code Playgroud)
复制现有的链接路径
class PictureUpload(FormView):
form_class = PictureForm
template_name = 'picture_upload.html'
def get_success_url(self):
success_url = lambda self: self.request.path
Run Code Online (Sandbox Code Playgroud)
根据反向URL和id重新创建链接路径
class PictureUpload(FormView):
form_class = PictureForm
template_name = 'picture_upload.html'
def get_success_url(self):
success_url = reverse('picture_upload',
kwargs={'id': self.kwargs.get('id', None)})
Run Code Online (Sandbox Code Playgroud)
Request Method: POST
Request URL: http://127.0.0.1:8000/pictures/2/
Django Version: 1.5.1
Python Version: 2.7.1
Installed Applications:
('django.contrib.admin',
'django.contrib.admindocs',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.gis',
'django.contrib.humanize',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin', …Run Code Online (Sandbox Code Playgroud) 我在使用Django 1.5时遇到了一个奇怪的错误:我已经定义了如下模型:
class Company(models.Model):
user = models.OnetoOneField(User)
agreed_to_terms = models.NullBooleanField(default=False)
address = models.CharField(_('Complete Address'),
max_length = 255, null = True, blank = True)
winning_bid = models.ForeignKey('Bid',
related_name='winning_bid',
blank = True, null = True)
bid_list = models.ManyToManyField('Bid',
related_name='bids',
blank = True, null = True)
...
class Bid(models.Model):
user = models.ForeignKey(User, null = True, blank = True)
description = models.TextField(_('Description'),
blank = True, null = True,)
volume = models.DecimalField(max_digits=7, decimal_places=3,
null=True, blank=True,)
...
# all other attributes are of the Boolean, CharField …Run Code Online (Sandbox Code Playgroud) django ×7
python ×3
django-1.5 ×2
arrays ×1
ember-cli ×1
ember.js ×1
financial ×1
forms ×1
formview ×1
irr ×1
keras ×1
kwargs ×1
many-to-many ×1
model ×1
models ×1
numpy ×1
permissions ×1
pinax ×1
postgresql ×1
redirect ×1
reload ×1
rest ×1
sql ×1
tensorflow ×1