1

如果我按他的名字,我正在尝试转到作者个人资料。这是我的 HTML,它执行这些操作:

{% extends "blog/base.html" %}
{% load crispy_forms_tags %}
{% block content %}
    <div class="content-section">
      <div class="media">
        <img class="rounded-circle account-img" src="{{ user.profile.image.url }}">
        <div class="media-body">
          <h2 class="account-heading">{{ user.username }}</h2>
        </div>
      </div>
      <form method="POST" enctype="multipart/form-data">
          {% csrf_token %}
          <fieldset class="form-group">
              <legend class="border-bottom mb-4">Profile Info</legend>
              <p class="text-secondary"><h3>Contact Me Here: </h3>{{ user.email }}</p>
          </fieldset>
      </form>
    </div>
{% endblock content %}

在我的views.py中我有这个:

def author_profile(request):
    user = Post.author
    u_form = UserUpdateForm(instance=request.user)
    p_form = ProfileUpdateForm(instance=request.user.profile)

    context = {
        'u_form': u_form,
        'p_form': p_form
    }
    return render(request, 'blog/author_profile.html', context)

forms.py 中的 UserUpdateForm 和 ProfileUpdateForm 有以下代码:

class UserUpdateForm(forms.ModelForm):
    email = forms.EmailField()

    class Meta:
        model = User
        fields = ['username', 'email']


class ProfileUpdateForm(forms.ModelForm):
    class Meta:
        model = Profile
        fields = ['image']

职位类别:

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User, on_delete=models.CASCADE) 

    def __str__(self):
        return self.title 

如果我按名称,它将让我进入用户个人资料,我尝试与 Post.author 合作,但没有成功。

这是我第一次使用 django。

4

0 回答 0