小编don*_*y72的帖子

Django"image"属性没有与之关联的文件

当用户注册我的app.I当他到达个人资料页面时收到此错误.

The 'image' attribute has no file associated with it.
Exception Type: ValueError 
Error during template rendering
In template C:\o\mysite\pet\templates\profile.html, error at line 6
1 <h4>My Profile</h4>
2  
3 {% if person  %}
4 <ul>           
5   <li>Name: {{ person.name }}</li>
6   <br><img src="{{ person.image.url }}">
Traceback Switch back to interactive view
File "C:\o\mysite\pet\views.py" in Profile
 71.     return render(request,'profile.html',{'board':board ,'person':person})
Run Code Online (Sandbox Code Playgroud)

我认为这个错误的发生是因为我的模板需要一个图像并且看到他刚刚注册了他无法添加图像,除非他进入编辑页面并添加页面然后他可以访问个人资料页面.

我的个人资料

<h4>My Profile</h4>

{% if person  %}
<ul>           
    <li>Name: {{ person.name }}</li>
    <br><img src="{{ person.image.url }}">


</ul>
{% endif %} …
Run Code Online (Sandbox Code Playgroud)

django

43
推荐指数
5
解决办法
4万
查看次数

名称为“内容”的 Django“块”标签出现不止一次

我在制作应用程序时遇到此错误,我认为问题出在我的 login.html 中,因为它指向错误表。是因为我有 2 {% block content %} 冲突吗?感谢你们对我的帮助

TemplateSyntaxError at /login/

'block' tag with name 'content' appears more than once

Request Method:     GET
Request URL:    http://127.0.0.1:8000/login/
Django Version:     1.4.3
Exception Type:     TemplateSyntaxError
Exception Value:    

'block' tag with name 'content' appears more than once

Error during template rendering

In template C:\djcode\mysite\drinker\templates\login.html, error at line 21
'block' tag with name 'content' appears more than once
11  <div class="register_div">
12  {% if form.password.errors %}<p class="error">{{ form.password.errors }}</p>{%     endif %}
13  <p><label for="password"{% …
Run Code Online (Sandbox Code Playgroud)

django

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

Django'function'对象没有属性'对象'

我的应用程序允许您喜欢图片然后将您重定向到同一页面

当我尝试想要一张图片时我得到错误我可以用shell提示创建一个类似的对象,但为什么我会收到此错误?谢谢你的帮助

AttributeError at /like/3/
function' object has no attribute 'objects'Request Method: GET 
Request URL: http://127.0.0.1:8000/like/3/ 

Exception Value: 'function' object has no attribute 'objects' 
Traceback:
File "C:\Python26\Lib\site-packages\django\core\handlers\base.py" in get_response
111.                         response = callback(request, *callback_args, **callback_kwargs)
File "C:\o\mysite\pet\views.py" in Like
195.     new_like, created = Like.objects.get_or_create(user=request.user, picture_id=picture_id)
Run Code Online (Sandbox Code Playgroud)

这是我的views.py的一部分

def Like(request,picture_id):
    pid = picture_id
    new_like, created = Like.objects.get_or_create(user=request.user, picture_id=picture_id)
    p = Picture.objects.get(pk=pid)
    if created:
        HttpResponseRedirect(reverse('world:url_name'))
    else:
        HttpResponseRedirect(reverse('world:url_name'))
Run Code Online (Sandbox Code Playgroud)

我的URLconf:

     url(
Run Code Online (Sandbox Code Playgroud)

我的模特的部分:r'^ like /(?P\d +)/ $','pet.views.Like',name ='Like'),我的boat.html

 {% if picture %}
 <ul>
    {% for pet …
Run Code Online (Sandbox Code Playgroud)

python django

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

Django Like Button

我一直在尝试为我的应用程序在每个主板上为我的宠物图片创建一个类似的按钮,但我无法弄清楚如何创建一个因为它包含整数.通常我对我创建的功能有一个想法和理解.

当用户点击"赞"按钮时.相似按钮将增加1,它将显示在图片附近.

这是我的图片模块.

class Picture(models.Model):
    user = models.ForeignKey(User)
    board = models.ForeignKey(Board ,related_name='lo')
    image = models.FileField(upload_to="images/",blank=True,null=True)
    description = models.TextField()
    is_primary = models.BooleanField(default=False)

    def __unicode__(self):
        return self.description
Run Code Online (Sandbox Code Playgroud)

有人可以帮我创建一个类似按钮的基础知识吗?所以我可以理解函数的逻辑.

django

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

Django多个查询集组合成一个分页

我将来自不同模型的2个查询集合并到一个列表中,并使用分页显示为单个列表.

问题是列表中的对象是根据它们创建的模型通过分页显示的.

在此输入图像描述

如何从模型创建新对象时如何修复列表.它将在最近创建的对象之后显示,即使最近创建的对象来自不同的模型.

例子是.我有一个用户白板和用户评论的组合查询集.如果最近创建了一个新的白板对象,我会创建另一个评论.评论将在白板的对象之后通过分页显示,而不是与分页中的所有其他评论一起显示,因为它在不同的模型中

在此输入图像描述

我希望你能理解我想要实现的目标:)

我的模块的一部分

class WhiteBoard(models.Model):

    user = models.ForeignKey(User)
    name = models.CharField(max_length=100)
    created = models.DateTimeField(auto_now_add=True)
    picture = models.OneToOneField('Picture',related_name='picture',blank=True,null=True)
    def __unicode__(self):
        return self.name


class Comment(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    user = models.ForeignKey(User)
    body = models.TextField()
    picture = models.ForeignKey(Picture)
Run Code Online (Sandbox Code Playgroud)

views.py

@login_required
def archive(request):
        user = User.objects.get(username=request.user)
        person = Person.objects.get(user=user)
        users = User.objects.filter(pk__in=person.following.all().values_list('user__pk',flat=True))
        picture = whiteboard .objects.filter(user__in=users).order_by("-created")
        comment = Comment.objects.filter(user__in=users).order_by("-created")
        posts= list(chain(picture,comment))
        paginator = Paginator(posts, 5)

        try: page = int(request.GET.get("page", '1'))
        except ValueError: page = 1

        try:
            posts = paginator.page(page)
        except (InvalidPage, …
Run Code Online (Sandbox Code Playgroud)

django django-queryset

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

Django没有返回一个HttpResponse对象

我做了一个简单的宠物商店应用程序,只是添加了搜索框功能,我收到了这个错误

ValueError at /pet/search/
The view mysite.pet.views.search_page didn't return an HttpResponse object.
Run Code Online (Sandbox Code Playgroud)

我试图将render_to_response更改为HttpResponseRedirect但仍然遇到相同的错误.

链接回视图中的search_page函数.

def search_page(request):
    form = SearchForm()
    if request.method == "POST":
        f = SearchForm(request.POST)
        if f.is_valid():
            Pets = Pet.objects.filter(animal = f.cleaned_data["text"])
            return HttpResponseRedirect("search.html",{"Pets":Pets},{"form":form})
        else:
            return render_to_response("search.html",{"form":form} , context_instance = RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

我做了一些研究,我理解一个视图必须在发出HttpRequest时返回一个HttpResponse而render_to_response只是一个快捷方式.可以有人帮助解释为什么这个函数不起作用.谢谢你

django

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

Django过滤ModelChoiceField的查询集

我一直在使用一个名为ModelChoiceField的表单字段并查询所有对象,但这并不是我打算用它来实现的.

 class PictureForm(forms.ModelForm):
    Whiteboard = forms.ModelChoiceField(queryset=Whiteboard.objects.all())
Run Code Online (Sandbox Code Playgroud)

我一直在尝试使用ModelChoiceField来查询属于特定用户的所有WhiteBoard对象

Whiteboard = forms.ModelChoiceField(queryset=Whiteboard.objects.filter(user=request.user))
Run Code Online (Sandbox Code Playgroud)

但我发现请求没有传递给ModelForm.我一直在搜索SO以寻求各种解决方案,一个解决方案是覆盖表单的init()

这可能是与我的问题相关的最接近的问题 如何在Django中的ModelForm中使用该请求

这是他的解决方案.如果他的解决方案是覆盖视图中的查询集.他如何在forms.py中创建没有查询集的ModelChoiceField

就我而言,我希望用户过滤掉所有白板.我怎么能这样做?

我的模块的一部分

class Whiteboard(models.Model):

    Category =models.CharField(max_length=30,choices=CATEGORY)
    user = models.ForeignKey(User)
    name = models.CharField(max_length=100)
    picture = models.OneToOneField('Picture',related_name='picture',blank=True,null=True)
    def __unicode__(self):
        return self.name

class Picture(models.Model):
    user = models.ForeignKey(User)
    Whiteboard = models.ForeignKey(Whiteboard,blank=False,null=False,related_name='board')
    image = models.FileField(upload_to="images/",blank=True)
    description = models.TextField()
    is_primary = models.BooleanField(default=False)

    def __unicode__(self):
        return self.description
Run Code Online (Sandbox Code Playgroud)

我的views.py

def PictureCreator(request):
if not request.user.is_authenticated():
    return HttpResponseRedirect(reverse('world:LoginRequest'))

if request.method == "POST":
    form = PictureForm(request.POST , request.FILES)
    if form.is_valid():
        picture = Picture(user=request.user)
        image = …
Run Code Online (Sandbox Code Playgroud)

django

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

Django无法将float转换为Decimal.首先将浮点数转换为字符串

我有一个模型,可以自动重新调整图像大小,并在上传图片时保存原始图像.

问题是,当我在管理面板上保存图像时,我收到此错误

无法将float转换为Decimal.首先将浮点数转换为字符串

File "C:\o\mysite\fruit\models.py" in save
 61.         super(Pic, self).save(*args, **kwargs)
 File "C:\Python26\lib\decimal.py" in __new__
  652.                             "First convert the float to a string")

Exception Type: TypeError at /admin/fruit/pic/add/
Exception Value: Cannot convert float to Decimal.  First convert the float to a string
Run Code Online (Sandbox Code Playgroud)

我只是想不通为什么我会得到这个错误

我的models.py

class Pic(models.Model):
    user = models.ForeignKey(User)
    image = models.ImageField(
        upload_to="image",
        blank=True
        )
    descrip = models.TextField()
    ratio = models.DecimalField(decimal_places=5,max_digits=10,default=0)

    def __unicode__(self):
        return self.descrip

    def original(self):
        width = self.image.width / float(self.ratio)
        height = self.image.height / float(self.ratio)

        result = "<img …
Run Code Online (Sandbox Code Playgroud)

django

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

Django在表单错误中将CharField显示为TextField

我正在尝试创建一个名为 text 的字段,它是一个 CharField 像文本字段一样工作,因为我不能在表单中使用文本字段,所以我所做的是使用 CSS 扩大了字符字段。问题是,当我输入一个句子时。句子不是像文本字段那样从上到下显示,而是像直线一样显示在框的中间。我如何使这个 Charfield 完全像 textfield 一样工作

在此处输入图片说明 模型.py

class House(models.Model):
    user = models.ForeignKey(User)
    name = models.CharField(max_length=100)
    description = models.Textfield(max_length=100)
Run Code Online (Sandbox Code Playgroud)

我的表格.py

class HouseForm(forms.ModelForm):
    text = forms.CharField(required=False, )

    class Meta:
         model = House
         fields = ('name', 'description',)
Run Code Online (Sandbox Code Playgroud)

我的意见.py

def House(request):
     form = houseForm()
     return render(request,'house.html',{'form':form})
Run Code Online (Sandbox Code Playgroud)

模板

<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{form.name}}
{{form.text}}
{{form.description}}
<input type = "submit" value="save" id="box2"/>
</form>
Run Code Online (Sandbox Code Playgroud)

我的 CSS

#id_text {
    width: 230px;
    height: 80px;
    color:#9B5A3C;
    font-family: Arial;
    font-size: 15px;
    position:absolute;
    left:700px;
    top: …
Run Code Online (Sandbox Code Playgroud)

django

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

Django'强制转换为Unicode:需要字符串或缓冲区,找到NoneType

我正在开发一个简单的应用程序,我刚刚为models.py添加了一个名为Picture的新模块.当我尝试在管理页面访问Person模块时,我收到此错误.我已经删除了我的数据库和syncdb

当我点击图片和宠物等其他模块时,它很成功,但当我在管理页面点击人员时,我收到此错误

我做了一些研究,一个解决方案是返回一个有效的unicode.我想,我做到了

TypeError at /admin/pet/person/

coercing to Unicode: need string or buffer, NoneType found
Request Method:     GET
Django Version:     1.4.3
Exception Type:     TypeError
Exception Value:    

coercing to Unicode: need string or buffer, NoneType found

In template C:\Python26\lib\site-packages\django\contrib\admin\templates\admin\change_list.html, error at line 93
{% result_list cl %}
Run Code Online (Sandbox Code Playgroud)

问题与我的modules.py有关

from django.db import models
from django.db.models.signals import post_save
from django.contrib.auth.models import User

class Person(models.Model):
    user = models.ForeignKey(User)
    name = models.CharField(max_length=100,blank=True,null=True)

    def __unicode__(self):
        return self.name

class Picture(models.Model):
    user = models.ForeignKey(Person)
    image = models.FileField(upload_to="images/",blank=True,null=True)
    name …
Run Code Online (Sandbox Code Playgroud)

django

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

Django URL Regex Capture Int

我的目标是将我的命名空间中的2个参数传递给我的其他视图.

  <li><a href ="{% url world:p p.id 1 %}">{{p.description}}
Run Code Online (Sandbox Code Playgroud)

如果这没有意义,我很抱歉.我正在尽力找到正确的词语来描述我的问题.

参数,我试图传递到views.py里面的delpic函数是一个图片ID和一个整数,但为了它的工作,它必须通过正则表达式,然后它将被发送到我的views.py.

def delpic(request,picture_id,digit):

     digit = digit
     If digit == "1":
               #Something
     If digit == "2":
               # Something
     return render(request,'boardeditor.html',{'board':BoardNameForm(request.user),})
Run Code Online (Sandbox Code Playgroud)

但是当我试图将两者都传递到我的观点中时.我收到这个错误

  TypeError at /delpic/3/1/

  delpic() takes exactly 3 non-keyword arguments (2 given)
Run Code Online (Sandbox Code Playgroud)

我认为这是我的正则表达式来解决这个问题

    url(
        r'^delpic/(?P<picture_id>\d+)/(\d{1})/$',
        'pet.views.delpic',
        name= 'delpic',
    ),
Run Code Online (Sandbox Code Playgroud)

我的主要网址CONF

url(
    r'^',
    include('pet.urls',
        namespace = 'world')
),
Run Code Online (Sandbox Code Playgroud)

django

0
推荐指数
1
解决办法
6501
查看次数

/ register /中的Django KeyError

我有一个注册,让用户注册,我很难修复它.

问题是当用户提交单个字段而不是整个表单(例如电子邮件)时.我收到这个错误

KeyError at /register/

password
Request Method:     POST
Request URL:    http://127.0.0.1:8000/register/
File "C:\Python26\Lib\site-packages\django\forms\forms.py" in _get_errors
  115.             self.full_clean()
File "C:\Python26\Lib\site-packages\django\forms\forms.py" in full_clean
  271.         self._clean_form()
File "C:\Python26\Lib\site-packages\django\forms\forms.py" in _clean_form
  299.             self.cleaned_data = self.clean()
File "C:\o\17\mysite\pet\forms.py" in clean
  31.       if self.cleaned_data['password'] != self.cleaned_data['password1']:

Exception Type: KeyError at /register/
Exception Value: password
Run Code Online (Sandbox Code Playgroud)

我尝试使用if修复此解决方案.如果用户提交了用户名或任何其他必填字段,请处理表单,否则重新显示原始表单.

但我仍然得到同样的错误.

这是我编辑过的views.py (在页面底部是我原来的RegistrationForm)

def PetRegistration(request):   
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse('world:HappyLand'))

    if request.method =='POST':
        form = UserRegistration(request.POST)
    if form.is_valid():
        username = form.cleaned_data['username']
        if username:
            email=form.cleaned_data['email']
            if email:
                password=form.cleaned_data['password']
                if password:
                    user = …
Run Code Online (Sandbox Code Playgroud)

django

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

标签 统计

django ×12

django-queryset ×1

python ×1