【发布时间】:2018-08-03 00:34:04
【问题描述】:
我正在做 django 的一门 udemy 课程,但该课程适用于 django 1.1 或类似的东西,我尝试用 django 2 来做,而且我一般没有问题,但是当我尝试发送帖子时作者,标题和文字,应用重定向到404错误。
创建帖子的 view.py 代码
class CreatePostView(LoginRequiredMixin, CreateView):
login_url = '/login/'
redirect_field_name = 'blog/post_detail.html'
form_class = PostForm
model = Post
博客应用文件夹中的 url.py
from django.urls import path, re_path, include
from blog import views
urlpatterns = [
re_path(r'^$', views.PostListView.as_view(), name='post_list'),
re_path(r'^about/$', views.AboutView.as_view(), name='about'),
re_path(r'^post/(?P<pk>\d+)$',views.PostDetailView.as_view(),name='post_detail'),
re_path(r'^post/new/$', views.CreatePostView.as_view(),name='post_new'),
re_path(r'^post/(?P<pk>\d+)/edit/$',views.PostUpdateView.as_view(),name='post_edit'),
re_path(r'^post/(?P<pk>\d+)/remove/$',views.PostDeleteView.as_view(),name='post_remove'),
re_path(r'^drafts/$',views.DraftListView.as_view(),name='post_draft_list'),
re_path(r'^post/(?P<pk>\d+)/comment/$',views.add_comment_to_post,name='add_comment_to_post'),
re_path(r'^comment/(?P<pk>\d+)/approve/$',views.comment_approve,name='comment_approve'),
re_path(r'^comment/(?P<pk>\d+)/remove/$',views.comment_remove,name='comment_remove'),
re_path(r'^post/(?P<pk>\d+)/publish/$',views.post_publish,name='post_publish'),
]
form.py
class PostForm(forms.ModelForm):
class Meta():
model = Post
fields = ('author', 'title', 'text')
widgets = {
'title':forms.TextInput(attrs={'class':'textinputclass'}),
'text':forms.Textarea(attrs={'class':'editable medium-editor-textarea postcontent'})
}
html
<form action="POST" class="post-form">
{% csrf_token %}
{{ form.as_p }}
<button class="save btn btn-default" type="submit">Guardar</button>
</form>
【问题讨论】:
标签: python django redirect post