Я пытаюсь разрешить пользователям создавать категории и сообщения (которые будут помечены в какую-либо категорию) Я думаю, что я правильно написал код, m получает ошибку 404, когда сообщение «Нет» соответствует заданному запросу. Вот мой код.Нет сообщений соответствует заданному запросу, позволяя пользователям делать сообщения (django)
this is my form
class CategoryForm(forms.ModelForm):
name = forms.CharField(max_length=128, help_text="aa")
likes = forms.IntegerField(widget=forms.HiddenInput(), initial=0)
slug = forms.CharField(widget=forms.HiddenInput, required=False)
class Meta:
model = Category
fields =('name',)
class PostForm(forms.ModelForm):
title = forms.CharField(max_length=128, help_text="bb")
views = forms.IntegerField(widget=forms.HiddenInput(), initial=0)
class Meta:
model = Post
fields = ['title', 'content', 'image', 'views', 'category']
это мой взгляд
#for adding category
def add_category(request):
if request.method == 'POST':
form = CategoryForm(request.POST)
if form.is_valid():
form.save(commit=True)
return index(request)
else:
print form.errors
else:
form = CategoryForm()
return render(request, 'main/add_category.html', {'form':form})
#for adding post/see diff style :)
def add_post(request):
context = RequestContext(request)
if request.method == "POST":
form = PostForm(request.POST, request.FILES)
if form.is_valid():
form.save(commit=True)
return redirect(index)
else:
print form.errors
else:
form = PostForm()
return render_to_response('main/add_post.html', {'form':form}, context)
И это мой URL
url(r'^add_post/', views.add_post, name='add_post'),
url(r'^add_category/$', views.add_category, name='add_category'),
]
И, наконец, мои шаблоны {
% extends 'base.html' %}
{% block content %}
<form id="post_form" method="post" action="/main/add_post/" enctype="multipart/form-data">
{% csrf_token %}
{{form}}
<input type="submit" name="submit" value="Create Post">
</form>
{% endblock %}
Извините, я не уверен, что вы говорите. так что я должен что-то изменить? –
Вы должны изменить этот 'url (r '^ add_post /', views.add_post, name = 'add_post')' to 'url (r '^ main/add_post/$', views.add_post, name = 'add_post') ' – sunhs
Я ценю, что вы пытаетесь помочь, но нет, это не так, я использую Django. –