gpt4 book ai didi

python - 类 View 返回对象没有属性 'rindex' 错误

转载 作者:太空宇宙 更新时间:2023-11-03 16:40:25 25 4
gpt4 key购买 nike

我正在尝试将我的基于函数的 View 重写为基于类的 View 。它会引发此错误:

.../test/User1

'UserDetailView' object has no attribute 'rindex'

问题可能很明显,我是基于类的 View 的新手。

那么如何才能使用 url .../test/username 获取任何配置文件?

我的新观点:

class UserDetailView(DetailView):
model = User
def get_object(self, queryset=None):
return get_object_or_404(self.model, pk=self.kwargs["pk"])

URLS.PY:

url(r'^test/(?P<username>[a-zA-Z0-9]+)/$', views.UserDetailView(),name="user_detail"),

和模板:

{% extends "base.html" %}

{% block content %}

{{ userprofile.as_p }}
{% endblock %}

我的旧观点是这样的:

def get_user_profile(request, username):
user = User.objects.get(username=username)

jobs = user.jobs.all()
table = MyJobsTable(jobs)

context = {
'my_jobs': table,
"user": user
}
return render(request, 'auth/profiles/my-profile.html', context=context)

和 HTML:

{% extends 'base.html' %}
{% load crispy_forms_tags %}
{% load render_table from django_tables2 %}
{% block content %}
{% if user.is_authenticated %}
<h3>{% if user.userprofile.is_translator %} Prekladateľský účet: {% else %} Štandardný
účet: {% endif %}{{ user.username }} </h3>
<ul>
<li>Username: {{ user.username }}</li>
<li>First name: {{ user.first_name }}</li>
<li>Last name: {{ user.last_name }}</li>
<li>Email: {{ user.email }}</li>
<li>Telephone: {{ user.userprofile.telephone }}</li>
<li>Languages: {{ user.userprofile.languages.as_p }}</li>
{# TODO: DOPLNIT ATRIBUTY + ked je aj translator#}
</ul>
{% if user.jobs %}
<p>My Jobs</p>
{% render_table my_jobs %}
{% else %}
<p>You have no jobs</p>
{% endif %}
<form class="navbar-form navbar-right" action="/edit-profile" method="get">
<button type="submit" class="btn btn-success">Edit Your Profile</button>
</form>
<form class="navbar-form navbar-right" action="/register-as-translator" method="get">
<button type="submit" class="btn btn-success">Become A Translator</button>
</form>
{% endif %}
{% endblock %}

URLS.PY:

url(r'^profile/(?P<username>[a-zA-Z0-9]+)/$', views.get_user_profile)

最佳答案

问题出在你的 urls.py 中。对于基于类的 View ,您始终需要使用 as_view classmethod :

url(r'^test/(?P<username>[a-zA-Z0-9]+)/$', views.UserDetailView.as_view(), name="user_detail"),

关于python - 类 View 返回对象没有属性 'rindex' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36846673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com