小编Den*_*oko的帖子

Django Formset管理表单验证错误

我的模板上有一个表单和一个formset.问题是,formset抛出了验证错误,声称管理表单"丢失或被篡改".

这是我的看法

@login_required
def home(request):

    user = UserProfile.objects.get(pk=request.session['_auth_user_id'])
    blogz = list(blog.objects.filter(deleted='0'))
    delblog = modelformset_factory(blog, exclude=('poster','date' ,'title','content')) 
    if request.user.is_staff== True:
        staff = 1
    else:
        staff = 0
    staffis = 1

    if request.method == 'POST':
        delblogformset = delblog(request.POST)
        if delblogformset.is_valid():
        delblogformset.save()
            return HttpResponseRedirect('/home')

    else:
        delblogformset = delblog(queryset=blog.objects.filter( deleted='0'))


        blogform = BlogForm(request.POST)
        if blogform.is_valid():
            blogform.save()
        return HttpResponseRedirect('/home')

    else:
        blogform = BlogForm(initial = {'poster':user.id})
    blogs= zip(blogz,delblogformset.forms)  

    paginator = Paginator(blogs, 10) # Show 25 contacts per page

    # Make sure page request is an int. …
Run Code Online (Sandbox Code Playgroud)

python django django-templates django-forms

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

Nginx将目录作为别名提供服务

我试图使用ResourceSpace作为Nginx的别名.页面脚本加载良好,但不加载静态文件.访问子目录会出现错误undefined index

eximmanger加载所有脚本和静态文件,而资源空间无法加载静态文件,只加载脚本

这是我的配置

server {
    listen 80;
    server_name myserver.com www.myserver.com;
    server_name_in_redirect off;

    access_log /var/log/nginx/myserver.access_log main;
    error_log /var/log/nginx/myserver.error_log info;

    location /resourcespace { 
        alias /var/www/html/ResourceSpace/;

     }


    location /eximmanager { 
        alias /var/www/html/exim4u/exim4u/;

     }

    location /100/ { 
           rewrite ^ http://100.myserver permanent;

     }




   location ~ ^/eximmanger/(.+\.*)$ {
      alias /var/www/html/exim4u/exim4u/$1;
      fastcgi_pass unix:/tmp/php.socket;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME  $request_filename;

      # From fastcgi_params
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      /var/www/html/exim4u/exim4u; …
Run Code Online (Sandbox Code Playgroud)

nginx

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

Django模型ForeignKey对象显示字段名称而不是对象值

我在My Django模型中使用名为Memberno的ForeignKey.在成员类中输入数据后,它在"memberno"字段中显示为其他类中的"成员对象".对于ForeignKey,我使用'raw_id_fields'作为解决方法,但对于普通字段甚至'filter_horizo​​ntal',每个memberno值都显示为"member object".我希望值显示为它们在成员类中,即1,2,...

from django.db import models

# Create your models here.
class Members(models.Model):
    DESIGNATION_CHOICES=(
    ('ADM', 'Administrator'),
    ('OFF', 'Club Official'),
    ('MEM', 'Ordinary Member'),
    )
    memberno = models.AutoField(primary_key=True)
    fname = models.CharField(max_length=15)
    sname = models.CharField(max_length=15)
    onames = models.CharField(max_length=30, blank=True)
    email = models.EmailField()
    phoneNumber = models.CharField(max_length=15)
    regNo = models.CharField(max_length=15)
    designation = models.CharField(max_length=3,choices=DESIGNATION_CHOICES)
    image = models.ImageField(max_length=100,upload_to='photos/%Y/%m/%d', blank=True, null=True)
    course = models.CharField(max_length=30, blank=True, null=True)


def __unicode__(self):
    return  u'%s %s %s' % (self.fname, self.sname, self.memberno)


def get_absolute_url(self):
    return '%s%s/%s' % (settings.MEDIA_URL, settings.ATTACHMENT_FOLDER, self.id)

def get_download_url(self):
    return …
Run Code Online (Sandbox Code Playgroud)

django django-models

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

在Django模型中存储和转义Django标记和过滤器

我正在将模型中的内容输出到模板,但是某些模型字段会调用存储在其他模型中的数据.这只发生在几个领域.我想知道if与在模型中存储django标签相比,使用标签来评估这一点会更有效.

这个问题的答案说,在模型中存储django标签是一个坏主意而没有给出理由(尽管我认为其中一个原因可能是其他人可能会在数据库中注入一些标签).假设数据库注入很少,有没有办法逃避存储在模型中的Django标记和过滤器.

或者更好的是,处理上述情况的最有效方法是什么,其中几个字段中的一个模型字段调用存储在另一个模型中的字段.

示例:

这应存储在我的模型中

<p>We focus on:</p>
{% for item in services %}
{% url service_view item.id as service_url %}
<ul>
<li><a href="service_url">{{item.title}}</a></li>
</ul>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

输出它应该导致django解析相关的django标签,就像模板的一部分一样

python django django-templates

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

Django初始为ManyToMany字段

我有一个表单可以编辑我的模型实例.我想使用表单将所有隐藏的值传递username给已登录用户的默认值,以便它成为一个subscribe表单.问题是,正常initial={'field':value}情况似乎不适用于许多领域.我该怎么办呢?

我的views.py

@login_required
def event_view(request,eventID):
    user = UserProfile.objects.get(pk=request.session['_auth_user_id'])
    event = events.objects.get(eventID = eventID)
    if request.method == 'POST':
        form = eventsSusbcribeForm( request.POST,instance=event)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/events/')

    else:
        form = eventsSusbcribeForm(instance=event)

    return render_to_response('event_view.html', {'user':user,'event':event, 'form':form},context_instance = RequestContext( request ))
Run Code Online (Sandbox Code Playgroud)

我的forms.py

class eventsSusbcribeForm(forms.ModelForm):
    eventposter = forms.ModelChoiceField(queryset=UserProfile.objects.all(), widget=forms.HiddenInput())
    details = forms.CharField(widget=forms.Textarea(attrs={'cols':'50', 'rows':'5'}),label='Enter Event Description here')
    date = forms.DateField(widget=SelectDateWidget())


    class Meta:
        model = events
        exclude = ('deleted')

    def __init__(self, *args, **kwargs):
        super(eventsSusbcribeForm, self).__init__(*args, **kwargs)
        self.fields['username'].initial = (user.id for …
Run Code Online (Sandbox Code Playgroud)

django django-forms

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

Django在模板中的并行数组

我有2个数组,我想在模板中呈现,一个是要输出的数据,另一个是用于删除项目的formset.因为似乎django不支持模板标签中的布尔运算符,所以我尝试打包项目,但它们只返回第一个项目和第一个表格.

如何打包这些项目,以便它们在一个for循环中呈现.

我的看法

@login_required
def forums(request ):

    post = list(forum.objects.filter(child='0')&forum.objects.filter(deleted='0'))
    user = UserProfile.objects.get(pk=request.session['_auth_user_id'])
    newpostform = PostForm(request.POST)
    deletepostform = PostDeleteForm(request.POST)
    DelPostFormSet = modelformset_factory(forum, exclude=('child','postSubject','postBody','postPoster','postDate','childParentId'))
    readform = ReadForumForm(request.POST)
    if newpostform.is_valid():
        topic = request.POST['postSubject']
        poster = request.POST['postPoster']
        newpostform.save()
    newpostform = PostForm(initial = {'postPoster':user.id})
    post = list(forum.objects.filter(child='0')&forum.objects.filter(deleted='0'))

    else:
        newpostform = PostForm(initial = {'postPoster':user.id})

    if request.method == 'POST':
        delpostformset = DelPostFormSet(request.POST)
        if delpostformset.is_valid():
            delpostformset.save()

    else:
        delpostformset = DelPostFormSet(queryset=forum.objects.filter(child='0', deleted='0'))


    """if readform.is_valid():
        readform.save()
    else:
        readform = ReadForumForm()"""


    return render_to_response('forum.html', {'post':( post,delpostformset.forms), 'newpostform': newpostform, })
Run Code Online (Sandbox Code Playgroud)

我的模板

<table …
Run Code Online (Sandbox Code Playgroud)

python django django-templates django-views

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