Tag: django

如何添加可点击链接到Djangopipe理员的字段?

我有这个admin.py class LawyerAdmin(admin.ModelAdmin): fieldsets = [ ('Name', {'fields': ['last', 'first', 'firm_name', 'firm_url', 'school', 'year_graduated']}), ] list_display = ('last', 'first', 'school', 'year_graduated', 'firm_name', 'firm_url') list_filter = ['school', 'year_graduated'] search_fields = ['last', 'school', 'firm_name'] 并且我想使“firm_url”字段可以点击字段中列出的每个url。 我怎样才能做到这一点? 谢谢。

testing用户是否已成功login

如何在提交registry单后testing用户login? 我尝试了以下,但它甚至在login逻辑添加到我的注册视图之前返回True 。 def test_that_user_gets_logged_in(self): response = self.client.post(reverse('auth-registration'), { 'username':'foo', 'password1':'bar', 'password2':'bar' } ) user = User.objects.get(username='foo') assert user.is_authenticated() 正在testing的代码: class RegistrationView(CreateView): template_name = 'auth/registration.html' form_class = UserCreationForm success_url = '/' def auth_login(self, request, username, password): ''' Authenticate always needs to be called before login because it adds which backend did the authentication which is […]

在1个Django应用程序中约20个模型

我已经开始在本地运行浏览器的应用程序。 最近经历了django教程,我认为使用django而不是简单的python可能会更好。 有一个问题:我至less有20个型号,每个都有很多function。 很简单,它会创build一个巨大的模型文件,也可能是巨大的意见。 我怎么把它们分开? 模型是所有相关的,所以我不能简单地把它们分成不同的应用程序,我可以吗?

使用django.shortcuts.redirect添加request.GETvariables

有可能在redirect中添加GETvariables? (无需修改我的urls.py) 如果我做redirect('url-name', x) 我得到HttpResponseRedirect('/my_long_url/%s/', x) 我没有抱怨使用HttpResponseRedirect('/my_long_url/%s/?q=something', x) ,而只是想知道…

在Mac OS X上安装支持JPEG的PIL

我在发表关于这个主题的问题之前发了一个问题,并且阅读了之前发布的其他问题,但都没有成功解决我的问题 我试图在Mac OS X Lion上安装PIL,因为我需要一个Django应用程序。 我也需要JPEG支持,所以我也需要一个JPEG解码器。 我试图下载libjpeg源代码并编译它们,然后安装PIL,但是它不能识别目录。 所以我想,我相信这是存在的地方,是一种方法来安装PIL和libjpeg与包安装程序,而不需要任何编译任何! 提前谢谢你的回复。

运行django时,扭曲的服务器意外崩溃

我正在使用本网站上的django-on-twisted脚本来运行一个django应用程序。 所有请求都由一个nginx服务器提供服务,该服务器将相关请求反向代理为扭曲。 我有一个API的API设置,基本上只是接收请求,并在发送响应之前对get参数进行一些处理。 但是,当一个特定的客户端正在打api时,扭曲的服务器就会closures。 下面粘贴的是Nginx的日志: the.ip.of.client – – [21/Apr/2012:11:30:36 -0400] "GET /api/url/?get=params&more=params HTTP/1.1" 499 0 "-" "Java/1.6.0_24" 扭曲的日志显示什么,但在这一点上扭曲停止工作。 通过错误代码499,我假设客户端意外closures连接,这是我没有问题。 客户是否收到回复对我来说并不重要。 这里是相关的Django视图: def api_url(request): if request.GET: get_param = request.GET.get('get', [''])[0] more_param = request.GET.get('more', [''])[0] #some processing here based on the get params return HttpResponse('OK') else: raise Http404 来自客户的请求是有效的请求,不会以不利的方式影响处理。 我已经从shell中testing了它。 当我在django开发服务器上尝试时,它也以同样的方式崩溃,没有留下任何接收请求的痕迹。 从浏览器进行testing时,一切正常。 此外,扭曲的服务器适用于所有常规使用情况。 这是我第一次面临一个问题。 任何帮助或指针将不胜感激。

Django和VirtualEnv开发/部署最佳实践

只是好奇人们如何配合他们的Django项目结合virtualenv 更具体地说,你如何保持你的生产virtualenv与你的开发机器正确同步? 我使用git for scm,但是我没有在git repo中使用virtualenv,或者最好是使用pip freeze,然后使用冻结输出在服务器上重新创build环境? (如果你这样做,你能否描述一下这些步骤 – 我在解冻过程中找不到很好的文档 – 就像pip install -r freeze_output.txt吗?)

我可以在Django中使用Socket.IO吗?

有什么办法可以用Django使用Socket.IO http://socket.io/ ?

芹菜任务,运行更多的任务

我正在使用celerybeat来启动一系列辅助任务的主要任务。 我已经完成了两项任务。 有没有办法轻松做到这一点? Celery是否允许从任务内运行任务? 我的例子: @task def compute(users=None): if users is None: users = User.objects.all() tasks = [] for user in users: tasks.append(compute_for_user.subtask((user.id,))) job = TaskSet(tasks) job.apply_async() # raises a IOError: Socket closed @task def compute_for_user(user_id): #do some stuff compute从celerybeat调用,但是当它尝试运行apply_async时会导致IOError。 有任何想法吗?

如何从django模板访问多对多“through”表的属性?

从Django文档… 当你只处理简单的多对多关系时,比如混合和匹配比萨饼和浇头,一个标准的ManyToManyField就是你所需要的。 但是,有时您可能需要将数据与两个模型之间的关系相关联。 例如,考虑跟踪音乐家所属的音乐组的应用的情况。 一个人和他们所属的小组之间有多对多的关系,所以你可以使用ManyToManyField来表示这种关系。 但是,关于您可能想要收集的会员资格有很多详细信息,例如join该组的人员的date。 对于这些情况,Django允许您指定将用于pipe理多对多关系的模型。 然后可以在中间模型上添加额外的字段。 中间模型使用through参数与ManyToManyField关联,指向将作为中介的模型。 对于我们音乐家的例子,代码看起来像这样: class Person(models.Model): name = models.CharField(max_length=128) def __unicode__(self): return self.name class Group(models.Model): name = models.CharField(max_length=128) members = models.ManyToManyField(Person, through='Membership') def __unicode__(self): return self.name class Membership(models.Model): person = models.ForeignKey(Person) group = models.ForeignKey(Group) date_joined = models.DateField() invite_reason = models.CharField(max_length=64) 现在您已经设置了ManyToManyField来使用您的中介模型(在这种情况下为Membership),您可以开始创build一些多对多的关系。 您可以通过创build中间模型的实例来执行此操作: ringo = Person.objects.create(name="Ringo Starr") paul = Person.objects.create(name="Paul […]