Ошибка Django: аргумент join() должен быть str, bytes или объектом os.PathLike, а не 'tuple'
Я использую Djagno 4.1.2. Я успешно использовал встроенный
Class Example(CreateView):
от
django.views.generic.edit
Когда я отправил форму, я получил ошибку, потому что Django не знал, что делать дальше. Я забыл вставить
success_url
Я импортировал
from django.urls import reverse_lazy
и мой вид выглядел следующим образом:
from django.shortcuts import render
from django.views.generic.edit import CreateView
from Techtips.models import Techtip
from django.urls import reverse_lazy
class TechtipCreateView(CreateView):
model = Techtip
fields = ['title', 'year', 'year2', 'make', 'model', 'description']
template_name = 'techtips/create_techtip.html',
success_url = reverse_lazy('home')
В следующий раз, когда я попытался использовать это представление, я получил следующую ошибку:
join() argument must be str, bytes, or os.PathLike object, not 'tuple'
Я удалил строку succes_url и повторил попытку. Теперь я получаю эту ошибку каждый раз, когда пытаюсь получить доступ к url 'create' или '/techtips/create/'.
Вот текущий (все еще получающий ошибку):
views.py
from django.shortcuts import render
from django.views.generic.edit import CreateView
from Techtips.models import Techtip
from django.urls import reverse_lazy
def index(request):
return render(request, 'techtips/index.html')
class TechtipCreateView(CreateView):
model = Techtip
fields = ['title', 'year', 'year2', 'make', 'model', 'description']
template_name = 'techtips/create_techtip.html',
urls.py
from django.contrib import admin
from django.urls import path, include
from Techtips import views
from django.views.generic import TemplateView
urlpatterns = [
path('', views.index, name='home'),
path('create/', views.TechtipCreateView.as_view(), name='create'),
]
models.py
from django.db import models
from django.contrib.auth import get_user_model
from django.conf import settings
User = settings.AUTH_USER_MODEL
class Techtip(models.Model):
title = models.CharField(max_length=150)
year = models.PositiveIntegerField()
year2 = models.PositiveIntegerField()
make = models.CharField(max_length=30)
model = models.CharField(max_length=30)
description = models.CharField(max_length=5000)
user = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)
date_created = models.DateTimeField(auto_now_add=True)
date_revised = models.DateTimeField(null=True)
Я вернул код к тому, что, по моему мнению, было первоначальным, когда все работало. Должно быть, я что-то упустил, потому что это было лишь незначительное дополнение к View.