Я работаю с моим первым проектом Django, и теперь у меня есть некоторые ошибки, которые я совсем не понимаю! создал 2 формы: один из них работал, а данные из второго не были сохранены в базе данных. Я пытался исправить эту проблему, но теперь они оба не работают, и у меня даже есть одна и та же проблема с одной . мои старые шаблоны могли бы вы сказать мне, что мои ошибки и как я могу исправить ихОшибка Django при визуализации шаблонов. Reverse for 'name' с аргументами '(",)' и аргументы ключевого слова '{}' не найдено
Это часть моего views.py:
def listing(request):
users_list = Person.objects.all()
paginator = Paginator(users_list, 14)
page = request.GET.get('page')
try:
users = paginator.page(page)
except PageNotAnInteger:
users = paginator.page(1)
except EmptyPage:
users = paginator.page(paginator.num_pages)
return render(request, 'friends_plans/list.html', {"users": users})
def add_wish_list(request):
if request.method == 'POST':
form = Wish_listForm(request.POST)
if form.is_valid():
newform = form.save(commit=False)
newform.person = request.user
newform.save()
else:
print form.errors
else:
form = Wish_listForm()
return render(request, 'friends_plans/add_wish_list.html', {'form': form})
def add_comment(request, wish_list_id):
person = request.user
wish_list = get_object_or_404(Wish_list, pk=wish_list_id)
if request.method == 'POST':
form = Comment_to_wish_listForm(request.POST)
if form.is_valid():
newform=form.save(commit=False)
newform.person = request.user
newform.comment_to = wish_list
wish_list.person = person
newform.save()
else:
print form.errors
else:
form = Comment_to_wish_listForm()
context_dict = {'form': form, 'wish_list': wish_list}
return render(request, 'friends_plans/add_comment.html', {'context_dict': context_dict})
Это мой urls.py:
app_name = 'friends_plans'
urlpatterns = [
url(r'^$', views.index, name='index'), # start page
url(r'^users/$', views.listing, name='listing'),
url(r'^(?P<person_id>[0-9]+)/wish_list/$', views.wish_list, name='wish_list'),
url(r'^(?P<person_id>[0-9]+)/$', views.user, name='user'),
url(r'^(?P<person_id>[0-9]+)/(?P<day_id>[0-9]+)/$', views.day, name='day'),
url(r'^add_wish_list/$', views.add_wish_list, name='add_wish_list'),
url(r'^(?P<wish_list_id>[0-9]+)/comment/$', views.comment, name='comment'),
url(r'^(?P<wish_list_id>[0-9]+)/comment/add/$', views.add_comment, name='add_comment'),
]
Это list.html:
{% extends 'friends_plans/base.html' %}
{% load staticfiles %}
{% block title %} Users {% endblock %}
{% block content %}
<div id ="left">
<div id="toptitle"> Friends' Plans members:</div>
<table class="table">
<thead>
<tr>
<th>Photo</th>
<th>Name</th>
<th>Occupation</th>
<th>Days</th>
<th>Places</th>
</tr>
</thead>
<tbody>
{% for person in users %}
<tr>
<td><span> <img class="small_cat" src={% static 'images/cat3.jpg' %} /> </span></td>
<td><a href="{% url 'friends_plans:user' user.pk %}">{{ person.username|upper }}</a></span></td>
<td><span>Student at {{ person.place_of_work_or_study}}</span></td>
<td>{{person.day_set.all.count}}</td>
<td>{{person.wish_list_set.all.count}}</td>
</tr>
{% endfor %}
</tbody>
</table>
<div class="pagination">
<div id="listing">
<span class="step-links">
{% if users.has_previous %}
<a href="?page={{ users.previous_page_number }}">previous</a>
{% endif %}
<span class="current">
Page {{ users.number }} of {{ users.paginator.num_pages }}.
</span>
{% if users.has_next %}
<a href="?page={{ users.next_page_number }}">next</a>
{% endif %}
</span>
</div>
</div>
</div>
{% endblock %}
Это add_wish_list.html:
{% extends 'friends_plans/base.html' %}
{% load staticfiles %}
{% block content %}
<h1>Add a wish_list</h1>
<form method="post" action="/friends_plans:add_wish_list/">
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="Add wish_list" />
</form>
{% endblock %}
Это add_comment.html:
{% extends 'friends_plans/base.html' %}
{% block content %}
<h1>Add a wish_list</h1>
<form method="post" action="">
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="Add comment" />
</form>
{% endblock %}
Я понимаю, что проблема связанный с URL-адресами, но я не понимаю, что это такое, и почему все было в порядке с list.html прежде чем я не изменил его!
Вы вносили изменения в 'friends_plans/base.html'? –
Вы должны передать действие как '{% url" friends_plans: add_wish_list "%}'. Вам также не нужно передавать вложенный словарь '{'context_dict': context_dict}' просто передать 'context_dict' – Pythonista
Спасибо! Нет, я ничего не менял в файле friends_plans/base.html. –