Django required () got an unexpected keyword argument 'username'

2

Urls.py:

from django.urls import path
from .views import login, logout, signup, edit_profile, profile_view

app_name = 'accounts'

urlpatterns = [
    path('login/', login, name='login'),
    path('logout/', logout, name='logout'),
    path('signup/', signup, name='signup'),
    path('editprofile/', edit_profile, name='edit_profile'),
    path('<str:username>/', profile_view, name='profile'),
]

views.py:

@login_required
def profile_view(request, username):
    user = User.objects.get(username=username)
    profile = Profile.objects.get(user=user)
    own_profile = Profile.objects.get(user=request.user)
    if request.method == 'POST':
        if 'follow' in request.POST:
            own_profile.following.add(profile)
            profile.followers.add(own_profile)
        if 'unfollow' in request.POST:
            own_profile.following.remove(profile)
            profile.followers.remove(own_profile)

    posts = Post.objects.all()[:10]
    return render(request, 'accounts/profile.html', {'profile': profile, 'own_profile': own_profile, 'posts': posts})

error:

Traceback (most recent call last):
File "/home/pablo/.local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/pablo/.local/lib/python3.6/site-packages/django/core/handlers/base.py", line 126, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/pablo/.local/lib/python3.6/site-packages/django/core/handlers/base.py", line 124, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
TypeError: required() got an unexpected keyword argument 'username'
    
asked by Pablo Cortes Rodriguez 29.09.2018 в 15:47
source

0 answers