小编use*_*270的帖子

Django的CreateView没有保存对象

我正在练习Django的通用视图,尤其是 ModelForms

这些是我的观点和模型

models.py

class Post(models.Model):
    user = models.ForeignKey(User)
    post_title = models.CharField(max_length=200)
    post_content = models.CharField(max_length=500)
    post_date = models.DateTimeField('date posted')

    def get_absolute_url(self):
        return reverse('user-detail', kwargs={'pk': self.pk})

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

表格

class PostForm(forms.ModelForm):
    post_title = forms.CharField(
        label=u'Title',
        widget=forms.TextInput(attrs={'size':64})
    )
    post_content = forms.CharField(
        label=u'Content',
        widget=forms.TextInput(attrs={'size':128})
    )
    class Meta:
        model = Post
Run Code Online (Sandbox Code Playgroud)

views.py

class PostCreate(CreateView):
    fields = ['post_title', 'post_content']
    template_name = 'app_blog/post_save_form.html'
    model = Post
    form_class = PostForm   

    @method_decorator(login_required)
    def dispatch(self, *args, **kwargs):
        return super(PostCreate, self).dispatch(*args, **kwargs)

    def form_valid(self, form):
        self.object = form.save(commit=False) …
Run Code Online (Sandbox Code Playgroud)

python django

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

Django mixin 可以继承另一个 mixin 吗?

我很确定这个问题的答案显然是“否”,因为 Django mixins 应该

继承“对象”,但我找不到解决我的问题的替代方案:(

为了让问题尽可能简单,,,

视图.py

class JSONResponseMixin(object):
    def render_to_response(self, context):
        "Returns a JSON response containing 'context' as payload"
        return self.get_json_response(self.convert_context_to_json(context))

    def get_json_response(self, content, **httpresponse_kwargs):
        "Construct an `HttpResponse` object."
        return http.HttpResponse(content,
                                 content_type='application/json',
                                 **httpresponse_kwargs)

    def convert_context_to_json(self, context):
        "Convert the context dictionary into a JSON object"
        # Note: This is *EXTREMELY* naive; in reality, you'll need
        # to do much more complex handling to ensure that arbitrary
        # objects -- such as Django model instances or querysets
        # -- can be …
Run Code Online (Sandbox Code Playgroud)

django ajax json django-class-based-views

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

Django模型继承(有没有办法组合两个不同的模型)

对不起标题中的混淆.

现在,我有两个继承BaseComment模型的Comment模型(QuestionComment和AnswerComment).我不得不这样做,因为每个Comment模型都涉及两个不同的对象(分别是问答).但是,我想知道是否有办法将这两个模型合二为一,而不必制作两个不同的评论模型.

由于我对不同的对象有两个不同的注释模型,我必须编写许多重复的模板,视图等.

有任何想法吗 :(((???

谢谢!!

models.py

class BaseComment(models.Model):
    comment_author = models.ForeignKey(MyUser, related_name='written_comments')
    comment_content = models.CharField(max_length=500)
    comment_date = models.DateTimeField(auto_now_add=True)
    rating = models.IntegerField(default=0)

    class Meta:
        abstract = True

class QuestionComment(BaseComment):
    question = models.ForeignKey(Question, related_name='comments')

class AnswerComment(BaseComment):
    answer = models.ForeignKey(Answer, related_name='comments')
Run Code Online (Sandbox Code Playgroud)

python django

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

Python正则表达式:匹配嵌套的括号

假设我有一个包含子串的字符串

# the substrings and the whole string surrounded by parenthesis
string = '((substring1)(substring2))'
Run Code Online (Sandbox Code Playgroud)


我想使用正则表达式获取substring1和substring2,但我遇到了问题:(

这就是我现在拥有的:

match = re.search('(\(.*\))', string)
print match.groups()
Run Code Online (Sandbox Code Playgroud)


问题是,结果显示:

('(substring1)(substring2)', )
Run Code Online (Sandbox Code Playgroud)


似乎正则表达式只匹配第一个左括号和最后一个右括号.

换句话说,匹配的正则表达式就像..

(    match.....    )
Run Code Online (Sandbox Code Playgroud)

代替

(    (match1)(match2)   )
Run Code Online (Sandbox Code Playgroud)

如何使正则表达式捕获INNER括号?

谢谢

python regex

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

标签 统计

django ×3

python ×3

ajax ×1

django-class-based-views ×1

json ×1

regex ×1