From 9825a66281d7a44b8c69d51a7be76659bb52a36d Mon Sep 17 00:00:00 2001 From: Otto Naderer Date: Thu, 11 Apr 2024 14:32:32 +0200 Subject: [PATCH] init migration to django 4.x --- blogapp/models.py | 4 ++-- blogapp/urls.py | 10 +++++----- manage.py | 24 +++++++++++++++++++++--- polysite/globals.py | 2 +- polysite/settings.py | 14 ++++++++------ polysite/urls.py | 14 +++++++------- 6 files changed, 44 insertions(+), 24 deletions(-) diff --git a/blogapp/models.py b/blogapp/models.py index a09e90e..11a4d94 100644 --- a/blogapp/models.py +++ b/blogapp/models.py @@ -10,7 +10,7 @@ class blogcategory(models.Model): class blogentry(models.Model): - user = models.ForeignKey(User) + user = models.ForeignKey(User, on_delete=models.CASCADE) date = models.DateTimeField('date') header = models.CharField(max_length=100) intro = models.CharField(max_length=1000) @@ -24,7 +24,7 @@ class blogentry(models.Model): class blogcomment(models.Model): blogentry = models.ForeignKey(blogentry, on_delete=models.CASCADE) - user = models.ForeignKey(User, null=True, blank=True) + user = models.ForeignKey(User, null=True, blank=True, on_delete=models.CASCADE) guestname = models.CharField(max_length=20) body = models.CharField(max_length=300) date = models.DateTimeField('date') diff --git a/blogapp/urls.py b/blogapp/urls.py index efbc034..4651b1f 100644 --- a/blogapp/urls.py +++ b/blogapp/urls.py @@ -1,10 +1,10 @@ -from django.conf.urls import url +from django.urls import include, re_path from . import views urlpatterns = [ - url(r'^$', views.listall, name='listall'), - url(r'^(?P\d+)/$', views.detail, name='detail'), - url(r'^category/(?P\d+)/$', views.list_category, name='category'), - #url(r'^$', views.detail, name='detail'), + re_path(r'^$', views.listall, name='listall'), + re_path(r'^(?P\d+)/$', views.detail, name='detail'), + re_path(r'^category/(?P\d+)/$', views.list_category, name='category'), + #re_path(r'^$', views.detail, name='detail'), ] diff --git a/manage.py b/manage.py index 1e683c2..8ce5f87 100755 --- a/manage.py +++ b/manage.py @@ -2,9 +2,27 @@ import os import sys -if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "polysite.settings") +#if __name__ == "__main__": +# os.environ.setdefault("DJANGO_SETTINGS_MODULE", "polysite.settings")## - from django.core.management import execute_from_command_line +# from django.core.management import execute_from_command_line +# execute_from_command_line(sys.argv) + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'polysite.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() + diff --git a/polysite/globals.py b/polysite/globals.py index 15846b3..7fb3ddc 100644 --- a/polysite/globals.py +++ b/polysite/globals.py @@ -3,7 +3,7 @@ from imageapp.models import BlogImage from blogapp.models import blogentry, blogcategory, blogcomment -class CustomRenderer(mistune.Renderer): +class CustomRenderer(mistune.HTMLRenderer): def image(self, src, title, alt_text): try: img = BlogImage.objects.get(pk=src) diff --git a/polysite/settings.py b/polysite/settings.py index e363e64..ada5d33 100644 --- a/polysite/settings.py +++ b/polysite/settings.py @@ -11,9 +11,11 @@ https://docs.djangoproject.com/en/1.9/ref/settings/ """ import os +from pathlib import Path # Build paths inside the project like this: os.path.join(BASE_DIR, ...) -BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +#BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +BASE_DIR = Path(__file__).resolve().parent.parent # Quick-start development settings - unsuitable for production @@ -31,26 +33,26 @@ ALLOWED_HOSTS = [] # Application definition INSTALLED_APPS = [ - 'blogapp.apps.BlogappConfig', - 'pageapp.apps.PageappConfig', - 'imageapp.apps.ImageappConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'blogapp.apps.BlogappConfig', + 'pageapp.apps.PageappConfig', + 'imageapp.apps.ImageappConfig', ] -MIDDLEWARE_CLASSES = [ +MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', + ] ROOT_URLCONF = 'polysite.urls' diff --git a/polysite/urls.py b/polysite/urls.py index 72700f2..182beeb 100644 --- a/polysite/urls.py +++ b/polysite/urls.py @@ -13,7 +13,7 @@ Including another URLconf 1. Import the include() function: from django.conf.urls import url, include 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ -from django.conf.urls import url, include +from django.urls import include, re_path from django.contrib import admin from pageapp.views import aboutpage, contactpage #from blogapp.views import listall @@ -22,10 +22,10 @@ from django.conf.urls.static import static from . import views, settings urlpatterns = [ - url(r'^$', views.redi), - url(r'^blog/', include('blogapp.urls')), - url(r'^admin/', admin.site.urls), - url(r'^about/', aboutpage, name='about'), - url(r'^contact/', contactpage, name='contact'), - # url(r'^', listall), + re_path(r'^$', views.redi), + re_path(r'^blog/', include('blogapp.urls')), + re_path(r'^admin/', admin.site.urls), + re_path(r'^about/', aboutpage, name='about'), + re_path(r'^contact/', contactpage, name='contact'), + # re_path(r'^', listall), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)