CPanel Slug в Django

Я новичок в размещении сообщений в Stackoverflow. Прошу прощения, если мой английский не оченьИспользую CPanel для размещения своего сайта, но когда я пытаюсь развернуть свой сайт, маршрут к Технопарку и маршрут с форматом год/месяц/слог не работают должным образом, из-за чего открываемая страница не соответствует ожидаемой. Здесь я прилагаю свой скрипт home/desajono/webdesajono/desajono/views.py :

А вот результат, если приложение запущено в локальной сети : 127.0.0.1/technopark: [введите здесь описание изображения][1] 127.0.0.1/2021/08/pentingnya-olahraga-untuk-menurunkan-risiko-kepara : [введите описание изображения здесь][2] Но если приложение запущено на хостинге, то результат выглядит как на этих картинках: https://desajono.com/technopark : [страница Технопарка][3] https://desajono.com/2021/08/pentingnya-olahraga-untuk-menurunkan-risiko-kepara : [Slug Page][4]


[1]: https://i.stack.imgur.com/CNq0f.png. [2]: https://i.stack.imgur.com/ulGx3.png. [3]: https://i.stack.imgur.com/wfRAu.jpg [4]: https://i.stack.imgur.com/JvwIy.jpg

Вот некоторые из моих важных кодов, которые, возможно, вы можете использовать, чтобы сделать предложение :

from django.contrib import admin
from django.urls import path, include

admin.autodiscover()

from django.conf import settings
from django.conf.urls.static import static
from django.conf.urls import include, url


urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('desajono.urls')),
]


if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    
print("Ini URL di mysite : {}".format(urlpatterns))

home/desajono/webdesajono/desajono/urls.py :

from django.urls import path
from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'', views.index, name='index'),
    url(r'^<int:year>/<int:month>/<slug:slug>/', views.see_article, name='article-detail'),
    url(r'^technopark/', views.open_technopark, name='technopark'),
]

print('Ini URL di directory desajono : {}'.format(urlpatterns))

home/desajono/webdesajono/mysite/setting.py :

home/desajono/webdesajono/desajono/views.py :

from django.http import HttpResponse
from django.shortcuts import render
from django.template import loader
from .models import Content
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.shortcuts import render, get_object_or_404
from .forms import CommentForm


# Create your views here.
def index(request):
    content_list = Content.objects.order_by('-publication_date')
    content_in_carousel = content_list[:2]
    page = request.GET.get('page', 1)
    news = content_list.filter(status=1)
    information = content_list.filter(status=2)
    list_potensi = content_list.filter(status=3)
    paginator = [Paginator(news, 4), Paginator(information,4)]
    try:
        news_content = paginator[0].page(page)
        information_content = paginator[1].page(page)
    except PageNotAnInteger:
        news_content = paginator[0].page(1)
        information_content = paginator[1].page(1)
    except EmptyPage:
        news_content = paginator[0].page(paginator[0].num_pages)
        information_content = paginator[1].page(paginator[1].num_pages)
    template = loader.get_template('index.html')
    context = {
        'news_content' : news_content,
        'information_content' : information_content,
        'content_in_carousel' : content_in_carousel,
        'potensi' : list_potensi
    }
    return HttpResponse(template.render(context, request))

def see_article(request, slug, year, month):
    content = Content.objects.filter(publication_date__year=year, publication_date__month = month).get(slug=slug)
    another_content_list = Content.objects.exclude(publication_date__year=year, publication_date__month = month, slug=slug).filter(status=content.status).order_by('-publication_date')[:3]
    template = loader.get_template('content.html')
    #Komentar
    post = get_object_or_404(Content, slug=slug)
    comments = post.comments.filter(active=True)
    new_comment = None
    # Comment posted
    if request.method == 'POST':
        comment_form = CommentForm(data=request.POST)
        if comment_form.is_valid():
            # Create Comment object but don't save to database yet
            new_comment = comment_form.save(commit=False)
            # Assign the current post to the comment
            new_comment.post = post
            # Save the comment to the database
            new_comment.save()
    else:
        comment_form = CommentForm()

    context = {
        'content' : content,
        'another_content' : another_content_list,
        'post': post,
        'comments': comments,
        'new_comment': new_comment,
        'comment_form': comment_form
    }
    return HttpResponse(template.render(context, request))
    #return HttpResponse(another_content_list)

def open_technopark(request):
    content = Content.objects.all()
    template = loader.get_template('technopark.html')
    context = {
        'content' : content,
    }
    return HttpResponse(template.render(context, request))

home/desajono/webdesajono/desajono/models.py :

from django.db import models
import re
from django.contrib.auth import settings 
from django.contrib.auth.models import User
from django.utils import timezone
from django.utils.text import slugify
from django.dispatch import receiver
from django.db.models.signals import pre_save
from mysite.utils import unique_slug_generator
from django.urls import reverse
from django import forms
from django.contrib import admin
from datetime import datetime

# Create your models here.



class Content(models.Model):
    title = models.CharField(max_length=200)
    img =  models.ImageField(upload_to='upload/', max_length=100)
    full_text = models.TextField()
    publication_date = models.DateTimeField(default=timezone.now)
    news = 1
    information = 2
    potensi = 3
    status_choices = (
        (news, 'News'),
        (information, 'Information'),
        (potensi, 'Potensi')
    )
    status = models.IntegerField(
        choices=status_choices,
        default=news,
    )
    author = models.ForeignKey(User, related_name='entries', on_delete=models.CASCADE, default=1)
    slug = models.SlugField(unique=True, default='', editable=False)
    
    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('article-detail', kwargs={'year': self.publication_date.year, 'month' : str(self.publication_date.month).zfill(2), 'slug' : self.slug})

    @property
    def get_year(self):
        return self.publication_date.year
        
    @property
    def get_month(self):
        return self.publication_date.month

    @property
    def get_publication_date(self):
        return self.publication_date.strftime("%B %d, %Y %H:%M:%S")

@receiver(pre_save, sender=Content)
def pre_save_receiver(sender, instance, *args, **kwargs):
    if not instance.slug:
        instance.slug = unique_slug_generator(instance)


class Comment(models.Model):
    post = models.ForeignKey(Content,on_delete=models.CASCADE,related_name='comments')
    name = models.CharField(max_length=80)
    email = models.EmailField()
    body = models.TextField()
    created_on = models.DateTimeField(auto_now_add=True)
    active = models.BooleanField(default=False)

    class Meta:
        ordering = ['created_on']

    def __str__(self):
        return 'Comment {} by {}'.format(self.body, self.name)


Все шаблоны размещаются в каталоге 'home/desajono/webdesajono/desajono/templates', который содержит index.html, technopark.html и content.html.

Есть ли что-то, что я должен исправить, чтобы slug и страница технопарка работали правильно? Спасибо за помощь.

Вернуться на верх