小编neu*_*rix的帖子

Django:使用post()方法的ListView?

我试图在基于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

6
推荐指数
1
解决办法
2万
查看次数

Ember-cli:实时重装无法正常工作

我用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)

reload ember.js ember-cli

6
推荐指数
1
解决办法
2085
查看次数

Django 1.5:了解AbstractBaseUser和权限

我创建了一个用户应用程序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)

django permissions model django-1.5

5
推荐指数
1
解决办法
3661
查看次数

Django模型已保存,但返回None

我有一个模型管理器的简单模型:

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)

django django-models django-1.5

5
推荐指数
1
解决办法
5540
查看次数

NumPy:financial irr方法返回'nan'.为什么?

当我使用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上面的数组?

python arrays numpy financial irr

5
推荐指数
2
解决办法
1724
查看次数

TensorFlow Serving REST API 的正确有效负载

我已将 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

5
推荐指数
1
解决办法
4046
查看次数

Django的auth用户管理应用程序

我正在一个小的Django网站上工作,每个在网站上发表评论的用户都会收到一封带有密码的电子邮件(电子邮件是用户名),以便稍后更改评论.

该站点还应支持用户检索或重置密码的功能.对于这个简单的任务,我想使用Django auth功能.

是否有一个Django应用程序,它提供了一个简单的用户管理包(重置或更改用户的密码),我可以在我的网站中加入?

像Pinax或Drupal这样的包可以帮助完成这个简单的任务吗?他们似乎是矫枉过正.

authentication django user-management pinax

4
推荐指数
1
解决办法
5435
查看次数

Django:带有附加字段的CreateView?

我正在尝试编写一个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

4
推荐指数
1
解决办法
6151
查看次数

Django:动态success_url导致"'NoneType'对象没有属性'find'"

我希望success_url在表单提交并有效后将其重定向到相同的表单.在线我找到了解决方案的描述,但是这个解决方案和我的其他代码选项会生成相同的错误消息.

Exception Value: 'NoneType' object has no attribute 'find'
Run Code Online (Sandbox Code Playgroud)

urls.py

url(r'^pictures/(?P<id>\d+)/$', PictureUpload.as_view(), name='picture_upload'),
...
Run Code Online (Sandbox Code Playgroud)

1st views.py选项

复制现有的链接路径

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)

第二个views.py选项

根据反向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 redirect kwargs django-class-based-views

4
推荐指数
1
解决办法
5039
查看次数

Django:在可以使用多对多关系之前,对象需要具有字段"..."的值

我在使用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)

sql django postgresql many-to-many models

3
推荐指数
1
解决办法
9570
查看次数