小编Oma*_*lla的帖子

如何为DetailView指定除pk或slug之外的其他内容

当你在Django 1.3中使用DetailView时,我想知道是否可以使用除了pk或slug之外的东西.

例如,我目前有:

url(r'^mymodel/(?P<pk>\d+)/$', MyDetailView.as_view())
Run Code Online (Sandbox Code Playgroud)

作为我的网址.说我想要的东西:

url(r'^mymodel/(?P<name>\d+)/$', MyDetailView.as_view())
Run Code Online (Sandbox Code Playgroud)

其中name是模型中的一个字段.反正有没有让DetailView使用它来"抓住"我想要的对象并将其传递给我的模板?

python django django-views django-1.3

8
推荐指数
1
解决办法
2883
查看次数

什么可能导致部署的GWT应用程序上的UmbrellaException匿名函数?

我好像遇到了一个奇怪的问题.在本地环境中使用我的GWT应用程序时,一切正常.编译和部署我的应用程序后问题出现了.当我完成项目工作流程并单击某个链接切换到新面板时,我收到以下错误(来自我在Chrome中的控制台):

Uncaught com.google.gwt.event.shared.UmbrellaException: One or more exceptions
caught, see full set in UmbrellaException#getCauses (anonymous function)
Run Code Online (Sandbox Code Playgroud)

GWT在编译时生成的缓存文件之一抛出此错误.但这种情况从未发生在本地部署的程序上(从Eclipse部署,"作为Web应用程序运行").有没有人遇到这个问题或者可以为修复提供任何指导?

谢谢!:)

javascript gwt caching exception

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

基于类的视图扩展UpdateView无法正确保存表单

我试图在Django 1.3中使用UpdateView保存表单,似乎遇到了问题.当我保存表单时,它POST到当前URL并且成功url是相同的url.

保存表单时,数据似乎已更改,因为页面上的所有字段都已更新,但是当我刷新时,所有内容似乎都会恢复.

表单是一个模型表单,这是我的观点:

class UserProfileView(UpdateView):
    context_object_name = 'profile'

    def get_template_names(self):
        return ['webapp/user_profile.html']

    def get_queryset(self):
        pk = self.kwargs.get('pk', None)

        if pk is not None:
            user = User.objects.get(pk=pk)
        else:
            raise AttributeError(u"Could not locate user with pk %s"
                             % pk)

        if user.contributor_profile.all():
            queryset = Contributor.objects.filter(user__pk=pk)
        else:
            queryset = Member.objects.filter(user__pk=pk)

        return queryset

    def get_object(self, queryset=None):
        if queryset is None:
            queryset = self.get_queryset()

        return queryset.get()
Run Code Online (Sandbox Code Playgroud)

我看不出会出现什么问题,因为Django通过UpdateView类保存表单,并且它扩展了Mixin.有没有人遇到过这个问题?

python django views django-views django-1.3

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

为什么C++中没有初始化(然后使用)的int不会返回错误?

我是C++的新手(刚开始).我来自Java背景,我正在尝试下面的一段代码,将1和10之间的数字相加(包括),然后打印出总和:

/* 
 * File:   main.cpp
 * Author: omarestrella
 *
 * Created on June 7, 2010, 8:02 PM
 */

#include <cstdlib>
#include <iostream>

using namespace std;

int main() {
    int sum;

    for(int x = 1; x <= 10; x++) {
        sum += x;
    }

    cout << "The sum is: " << sum << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,它总是打印32822.我知道答案应该是55并且意识到它打印最短值(32767)加上55.更改

int sum;
Run Code Online (Sandbox Code Playgroud)

int sum = 0;
Run Code Online (Sandbox Code Playgroud)

会工作(因为它应该,因为变量需要初始化!).但是为什么会出现这种情况呢?为什么编译器不会警告你这样的事情?我知道当没有初始化时,Java会尖叫你.

谢谢.

编辑:我正在使用g ++.这是g ++ --version的输出:我在Mac OS X上运行并使用g ++.

nom24837c:~ omarestrella$ g++ --version
i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 …
Run Code Online (Sandbox Code Playgroud)

c++ primitive-types

4
推荐指数
3
解决办法
503
查看次数