Python Django我在获取绝对url方面有很多问题
第一个问题: 当我创建新帖子时,我看到这条消息Python Django我在获取绝对url方面有很多问题,python,django,Python,Django,第一个问题: 当我创建新帖子时,我看到这条消息(与关键字参数“{pk':1,'slug':”}”相反,未找到。尝试了1种模式:(['post/(?p\\d+)(:/(?p[\\w\\d-])?/$) 第二个问题: 当我在readmore botton中调用get_absolute_url时,我看到这条消息('PostCreate'对象没有属性'get_absolute_url') 两天来,我试图解决这个问题,我尝试了所有的解决方案,但我失败了 这是我的密码 视图.py class PostCre
(与关键字参数“{pk':1,'slug':”}”相反,未找到
。尝试了1种模式:(['post/(?p\\d+)(:/(?p[\\w\\d-])?/$)
第二个问题:
当我在readmore botton中调用get_absolute_url时,我看到这条消息('PostCreate'对象没有属性'get_absolute_url')
两天来,我试图解决这个问题,我尝试了所有的解决方案,但我失败了
这是我的密码
视图.py
class PostCreate(CreateView):
model = Post
template_name = "posts/create.html"
query_pk_and_slug = True
fields = ['title','body','category']
def form_valid(self, form):
form = form.save(commit=False)
form.user = self.request.user
return super(PostCreate, self).form_valid(form)
def get_success_url(self):
return self.get_absolute_url
class Category(models.Model):
name = models.CharField(max_length=100, blank=True, null=True, default="")
def __str__(self):
return self.name
class Post(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=100, blank=False, null=False, default="")
body = models.TextField(max_length=1000,blank=False, null=False, default="")
category = models.ForeignKey(Category, on_delete=models.CASCADE)
slug = models.SlugField(blank=True,default="-",unique=False)
updated_at = models.DateTimeField(auto_now_add=False, auto_now=True)
created_at = models.DateTimeField(auto_now=False, auto_now_add=True)
def __str__(self):
return self.title
def get_absolute_url(self,):
return reverse('post:details', kwargs={'pk': self.id, 'slug': self.slug})
from django.conf.urls import url
from .views import (PostList, PostDetail, PostCreate, PostUpdate, ArticleDetailRedirect)
from django.urls import reverse
urlpatterns = [
url(r'^$', PostList.as_view(), name="index"),
url(r'^create/$', PostCreate.as_view(), name="create" ),
url(r'^(?P<pk>[0-9]+)/update/$', PostUpdate.as_view(), ),
url(r'^(?P<pk>\d+)/$', PostDetail.as_view()),
url(r'^(?P<pk>\d+)(?:/(?P<slug>[\w\d-]+))?/$', PostDetail.as_view(), name = 'details'),
url(r'^(?P<pk>\d+)(?:/(?P<slug>[\w\d-]+))?/$', ArticleDetailRedirect.as_view(), name = 'article_details'),
型号.py
class PostCreate(CreateView):
model = Post
template_name = "posts/create.html"
query_pk_and_slug = True
fields = ['title','body','category']
def form_valid(self, form):
form = form.save(commit=False)
form.user = self.request.user
return super(PostCreate, self).form_valid(form)
def get_success_url(self):
return self.get_absolute_url
class Category(models.Model):
name = models.CharField(max_length=100, blank=True, null=True, default="")
def __str__(self):
return self.name
class Post(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=100, blank=False, null=False, default="")
body = models.TextField(max_length=1000,blank=False, null=False, default="")
category = models.ForeignKey(Category, on_delete=models.CASCADE)
slug = models.SlugField(blank=True,default="-",unique=False)
updated_at = models.DateTimeField(auto_now_add=False, auto_now=True)
created_at = models.DateTimeField(auto_now=False, auto_now_add=True)
def __str__(self):
return self.title
def get_absolute_url(self,):
return reverse('post:details', kwargs={'pk': self.id, 'slug': self.slug})
from django.conf.urls import url
from .views import (PostList, PostDetail, PostCreate, PostUpdate, ArticleDetailRedirect)
from django.urls import reverse
urlpatterns = [
url(r'^$', PostList.as_view(), name="index"),
url(r'^create/$', PostCreate.as_view(), name="create" ),
url(r'^(?P<pk>[0-9]+)/update/$', PostUpdate.as_view(), ),
url(r'^(?P<pk>\d+)/$', PostDetail.as_view()),
url(r'^(?P<pk>\d+)(?:/(?P<slug>[\w\d-]+))?/$', PostDetail.as_view(), name = 'details'),
url(r'^(?P<pk>\d+)(?:/(?P<slug>[\w\d-]+))?/$', ArticleDetailRedirect.as_view(), name = 'article_details'),
url.py
class PostCreate(CreateView):
model = Post
template_name = "posts/create.html"
query_pk_and_slug = True
fields = ['title','body','category']
def form_valid(self, form):
form = form.save(commit=False)
form.user = self.request.user
return super(PostCreate, self).form_valid(form)
def get_success_url(self):
return self.get_absolute_url
class Category(models.Model):
name = models.CharField(max_length=100, blank=True, null=True, default="")
def __str__(self):
return self.name
class Post(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=100, blank=False, null=False, default="")
body = models.TextField(max_length=1000,blank=False, null=False, default="")
category = models.ForeignKey(Category, on_delete=models.CASCADE)
slug = models.SlugField(blank=True,default="-",unique=False)
updated_at = models.DateTimeField(auto_now_add=False, auto_now=True)
created_at = models.DateTimeField(auto_now=False, auto_now_add=True)
def __str__(self):
return self.title
def get_absolute_url(self,):
return reverse('post:details', kwargs={'pk': self.id, 'slug': self.slug})
from django.conf.urls import url
from .views import (PostList, PostDetail, PostCreate, PostUpdate, ArticleDetailRedirect)
from django.urls import reverse
urlpatterns = [
url(r'^$', PostList.as_view(), name="index"),
url(r'^create/$', PostCreate.as_view(), name="create" ),
url(r'^(?P<pk>[0-9]+)/update/$', PostUpdate.as_view(), ),
url(r'^(?P<pk>\d+)/$', PostDetail.as_view()),
url(r'^(?P<pk>\d+)(?:/(?P<slug>[\w\d-]+))?/$', PostDetail.as_view(), name = 'details'),
url(r'^(?P<pk>\d+)(?:/(?P<slug>[\w\d-]+))?/$', ArticleDetailRedirect.as_view(), name = 'article_details'),
从django.conf.url导入url
from.views导入(PostList、PostDetail、PostCreate、PostUpdate、ArticleDetailRedirect)
从django.url反向导入
URL模式=[
url(r'^$',PostList.as_view(),name=“index”),
url(r“^create/$”,PostCreate.as_view(),name=“create”),
url(r'^(?P[0-9]+)/update/$',postpdate.as_view(),),
url(r'^(?P\d+/$),PostDetail.as_view()),
url(r'^(?P\d+)(:/(?P[\w\d-])?/$),PostDetail.as_view(),name='details'),
url(r'^(?P\d+)(:/(?P[\w\d-]+)?/$),ArticleDetailRedirect.as_view(),name='article_details'),
index.html
<a href="{{ list.get_absolute_url }}">
<button type="button" class="btn btn-primary">
<span class="btn btn-google">Read More
<i class="fa fa-chevron-right"></i>
</span>
</button>
</a>
谢谢请每个问题只写一个问题。好吧,第一个问题你没有找到第一个问题的slug,第二个错误是正确的,你的
post create
没有get\u absolute\u url函数。请阅读并尝试创建一个可能的副本。对不起,先生,我的英语不好,我在这个网站上是新的在我提问之前,我已经阅读了一些信息……无论如何,使用know@permalink将其从django 1.10 im中删除,但问题仍然是在我创建帖子时(没有要重定向到的URL。请在模型上提供URL或定义get_absolute_URL方法)