小编Bob*_*Bob的帖子

使用用户ID保存modelform?

我有一个关于我正在创建的新项目的问题.简而言之,该网站拥有用户帐户,每个用户都可以创建一个简单的段落.表单运行正常,但我似乎无法将用户的ID分配给已保存的表单.

model.py

class UserProfile(models.Model):
    user = models.OneToOneField(User)

class Thoughts(models.Model):
    user = models.ForeignKey(UserProfile, null=True)
    title = models.CharField(max_length=150, default='')
    description = models.CharField(max_length=5000, default='')
Run Code Online (Sandbox Code Playgroud)

forms.py

class ThoughtForm(ModelForm):
    class Meta:
        model = Thoughts
        fields = ['title', 'description']
Run Code Online (Sandbox Code Playgroud)

views.py

@login_required(login_url='sign_in')
def add_thought(request):
    context = {}
    populateContext(request, context)

    user_details = UserProfile.objects.get(user=request.user)
    context.update(user_details=user_details)

    if request.method == 'POST':
    new_thought_form = ThoughtForm(request.POST)

        if new_thought_form.is_valid():
            new_thought_form.save()
            return HttpResponse('Hurray, saved!')
    else:
        new_thought_form = ThoughtForm()


    c = {'new_thought_form': new_thought_form,}
    c.update(csrf(request))

    return render_to_response('lala/add_new_thought.html', c)
Run Code Online (Sandbox Code Playgroud)

每当我尝试添加"instance = user_details.id"时,它都会说'int'对象没有属性'_meta'.有什么想法吗?

django django-models django-forms django-views

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

Django电子邮件为HTML

我有一个电子邮件模板,可用来发送不同类型的电子邮件。我不想保留多个电子邮件HTML模板,因此处理此问题的最佳方法是自定义消息内容。像这样:

def email_form(request):
    html_message = loader.render_to_string(
            'register/email-template.html',
            {
                'hero': 'email_hero.png',
                'message': 'We\'ll be contacting you shortly! If you have any questions, you can contact us at <a href="#">meow@something.com</a>',
                'from_email': 'lala@lala.com',
            }
        )
    email_subject = 'Thank you for your beeswax!'
    to_list = 'johndoe@whatever.com'
    send_mail(email_subject, 'message', 'from_email', [to_list], fail_silently=False, html_message=html_message)
    return
Run Code Online (Sandbox Code Playgroud)

但是,发送电子邮件时,html代码不起作用。该消息将按原样显示,并带有尖括号和所有内容。有没有办法强制我将其呈现为HTML标签?

html email django django-templates

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