Я новичок в django, и я тестировал CURD, и он работал правильно, пока я не нашел что-то странное
У меня есть charfield, который не принимает никаких чисел и показывает ошибку, когда я получаю все записи
Reverse for 'updateUser' with arguments '('uuu1',)' not found. 1 pattern(s) tried
views.py
def signup(request):
form = UserForm()
if request.method == 'POST':
# fullname = request.POST['fullname']
form = UserForm(request.POST)
if form.is_valid():
form.save()
return redirect('/')
else:
form = UserForm(request.POST)
else:
form = UserForm(request.POST)
context = {'form': form}
return render(request, 'singup.html', context)
def updateUser(request, fullname):
user = User.objects.get(fullname__icontains=fullname)
form = UserForm(instance=user)
if request.method == 'POST':
form = UserForm(request.POST, instance=user)
if form.is_valid():
form.save()
return redirect('/')
context = {'form': form}
return render(request, 'singup.html', context)
def getAllUsers(request):
print("getAllUsers")
thesearchValue = ''
if 'SearchValue' in request.GET:
thesearchValue = request.GET['SearchValue']
print(thesearchValue)
print(request.GET['SearchValue'])
allUsers = User.objects.filter(fullname__icontains=thesearchValue) # all()
# return render(request,'getUsersInfo.html',{'allUsers':allUsers})
return render(request, 'getUsersInfo.html', {'allUsers': allUsers})
else:
print("Empty")
allUsers = User.objects.all()
return render(request, 'getUsersInfo.html', {'allUsers': allUsers})
def deleteUser(request, fullname):
print('delete the user')
todelete = User.objects.filter(fullname=fullname)
todelete.delete()
return redirect(getAllUsers)
Шаблон
<form method="GET">
{% csrf_token %}
<div class="input-group">
<input type="text" class="form-control" placeholder="Search this blog" name="SearchValue">
<div class="input-group-append">
<button class="btn btn-secondary" type="button">
<i class="fa fa-search"></i>
</button>
</div>
</div>
</form>
<table class="table table-bordered">
<thead>
<tr>
<th>Name</th>
<th>Department</th>
<th>Phone</th>
<th>Actions</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{% for x in allUsers%}
<tr>
<td>{{x.fullname}}</td>
<td>{{x.email}}</td>
<td>{{x.Resp}}</td>
<td>
<form method="GET" action="{% url 'updateUser' x.fullname %}">
<button class="btn btn--radius btn--green" type="submit"><img src="{% static 'img/update.png' %} "></button>
</form>
</td>
<td>
<form method="GET" action="{% url 'deleteUser' x.fullname %}">
<button class="btn btn--radius btn--green" type="submit"><img src="{% static 'img/delete (2).png' %} "></button>
</form> </td>
</tr>
{% endfor %}
Urls.py
urlpatterns = [
path('signup.html',views.signup,name=''),
path('getUsersInfo.html',views.getAllUsers,name=''),
url(r'^deleteUser/(?P<fullname>\D+)/$',views.deleteUser, name='deleteUser'),
url(r'^updateUser/(?P<fullname>\D+)/$',views.updateUser, name='updateUser'),
]
обратите внимание, что Я отправляю полное имя в качестве аргумента в функции обновления и удаления, но даже это не должно быть проблемой.
также после сохранения записи, включая номер, который она показывает в базе данных, но когда я пытаюсь получить все записи в переднем конце именно через эту ошибку