Django хэш добавления URL - PullRequest
       0

Django хэш добавления URL

0 голосов
/ 11 февраля 2020

Привет. Всем, у меня есть небольшое тестовое приложение с базовой моделью c с формой, основанной на этой модели:

class PublicNotesPost(models.Model):
    noteName = models.CharField(max_length=255)
    termsAgreed = models.BooleanField(default=False)
    noteData = models.TextField()

    def __str__(self):
        return self.pk

    class Meta:
        verbose_name_plural = "Test Note Post Data"

Моя цель - когда я публикую заметку, она перенаправляет зрителя с Dynami c URL, на данный момент я не настроил зрителя просто пустой html файл с тегом H1 только для проверки перенаправления. Однако, что происходит, если Ha sh добавляется в конец URL, и я не могу на всю жизнь понять, почему это так и хотелось бы опубликовать здесь, если кто-то испытал это и понял, как его исправить. ?

http://127.0.0.1:8000/note/ryXVe7tAhC/#

Мои шаблоны URL-адресов выглядят следующим образом:

from django.urls import path
from .import views


urlpatterns = [
    path('note/composer/', views.NoteComposer.as_view() ,name="note_composer"),
    path('note/<str:shorturl>/', views.ViewNote ,name="noteviewer")
]

Функции просмотра:

from django.shortcuts import render, redirect
from .forms import PostComposerForm
from django.urls import reverse
from django.views import View
import string
import random

# Create your views here.

def short_random_string(N:int) -> str:
    return ''.join(random.SystemRandom().choice(string.ascii_uppercase +string.ascii_lowercase+ string.digits) for i in range(N))


class NoteComposer(View):
    def get(self, request):
        try:
            formdata = {
                'form': PostComposerForm(),
                'navbar_active': 'composer',
                'agreedTerms': False
            }
            return render(request, 'main/composer.html', formdata)
        except Exception as ex:
            print(ex)
            return redirect('/')

    def post(self, request):
        try:
            form = PublicComposerForm(self.request.POST)
            if form.is_valid():
                shortUrl = short_random_string(10)
                return redirect(reverse('noteviewer', kwargs={"shorturl": shortUrl}))
            pass

        except Exception as ex:
            print(ex)
            return redirect('/')



def ViewNote(request, shorturl):
    try:
        return render(request,'main/view_note.html')
    except:
        return redirect('/')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...