Итак, я пытаюсь создать уникальную постоянную ссылку каждый раз, когда человек размещает на моей веб-странице, и я хочу, чтобы она была относительно дружественной к поисковой системе, поэтому я сделал небольшой код для изменения названия к хорошему заголовку поисковой системы, и он работает, но тогда мой обработчик не может его принять. По крайней мере, это то, что я думаю, происходит, потому что веб-страница просто дает мне ошибку 404. HTML отлично работает, потому что, когда я перенаправляюсь на статическую страницу, все это проходит. Здесь применяется код:нужна помощь в создании постоянных ссылок в Google App Engine
def post(self):
subject = self.request.get('subject')
content = self.request.get('content')
if subject and content:
p = Post(parent = blog_key(), subject = subject, content = content)
p.put()
id=str(p.key().id())
subject = str(subject)
subject = subject.replace(' ', '25fdsa67ggggsd5')
subject = ''.join(e for e in subject if e.isalnum())
subject = subject.replace('25fdsa67ggggsd5', '-')
subject = subject.lower()
url = '/blog/%s/%s' % (id, subject)
self.redirect('/blog/%s/%s' % (id, subject))
class PostPage(BlogHandler):
def get(self, post_id):
key = db.Key.from_path('PersonalPost', int(post_id), parent=blog_key())
post = db.get(key)
if not post:
self.error(404)
return
self.render("permalink.html", post = post)
class PersonalPost(db.Model):
subject = db.StringProperty(required = True)
content = db.TextProperty(required = True)
created = db.DateTimeProperty(auto_now_add = True)
last_modified = db.DateTimeProperty(auto_now = True)
user_id = db.StringProperty(required = True)
def render(self):
self._render_text = self.content.replace('\n', '<br>')
return render_str("post.html", p = self)
def blog_key(name = 'default'):
return db.Key.from_path('blogs', name)
app = webapp2.WSGIApplication([('/blog/([0-9]+)/([.*]+)', PostPage)]
И снова это работает, когда я просто это перенаправление на главную страницу и перечислить их, но не тогда, когда я пытаюсь направить на новую страницу SEO.
UPDATE:
Тест URL Я использую настройки
subject = "test-url"
id = "1234"
Приложение затем направляет меня www.url.com/blog/1234/test-url, но он дает мне 404 ошибка.
Это ваш фактический отступ? Кажется, вы пытаетесь определить класс 'PostPage' в функции' post', которая никогда не вызывается ... – geoffspear
Отступ был нарушен, когда я вставил его, но я только что исправил его. отступы все правильны на фактическом коде – clifgray