在django3中的urls.py中导入视图的正确语法是什么?

问题描述 投票:0回答:1

将view.py导入urls.py的正确语法是什么?>

我正在尝试添加分页和搜索功能,并遇到了SyntaxError“ SyntaxError:无效语法”。

最近几天我尽力调试它。我可以看到这是我导入视图的方式。我尝试了一堆组合,使任何指导都变得更加糟糕。

文件“ C:\ Users \ taylo \ Desktop \ pybox \ blogdemo \ blog \ urls.py”,第3行

blogdemo / blog / urls.py

from django.urls import path
from . import views
from .views index, single, SearchResultsListView


urlpatterns = [
    path('', views.index, name='index'),
    path('<int:id>/', views.single, name='single'),
    path('search/', SearchResultSingleView.as_view(), name='search_results'), #added
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

blogdemo / blogdemo / URLS.PY

from .views index, single, SearchResultsListView
from django.conf import settings 
from django.conf.urls.static import static 
from django.contrib import admin
from django.urls import path, include # imported include module

urlpatterns = [
    path('', include('blog.urls')), #added
    path('admin/', admin.site.urls),
    path('search/', SearchResultListView.as_view(), name='search_results'), #added
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

blogdemo / VIEWS.PY

from django.core.paginator import Paginator
from django.shortcuts import render
from .models import Article


def index(request):
    articles = Article.objects.all()
    paginator = Paginator(articles,3)
    page = request.GET.get('page')
    posts = paginator.get_page(page)
    return render(request, 'index.html', {'posts': posts})

def single(request, id):
    single = Article.objects.get(id=id)
    nextpost = Article.objects.filter(id_gt=single.id).order_by('id').first()
    prevpost = Article.objects.filter(id_lt=single.id).order_by('id').last()
    return render(request, 'single.html', {"single": single, "prevpost": prevpost, "nextpost": nextpost})

class SearchResultsListView(SingleView):
    model = Article
    context_object_name = 'article_list'
    template_name = 'templates/search_results.html'

blogdemo / MODELS.PY

from django.db import models


class Author(models.Model):
    name = models.CharField(max_length=50)
    bio = models.TextField()

    def __str__(self):
        return self.name

class Category(models.Model):
    category = models.CharField( max_length=50)     
    description = models.TextField()

    def __str__(self):
        return self.category

class Tag(models.Model):
    name = models.CharField(max_length=264)

    def __str__(self):
        return self.name

class Article(models.Model):
    title = models.CharField(max_length=50)
    image = models.ImageField(upload_to="images/")
    content = models.TextField()
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    author = models.ForeignKey(Author, on_delete=models.CASCADE)
    name = models.CharField(max_length=50, null=True)
    offical = models.CharField(max_length=50, null=True)
    abbreviation = models.CharField(max_length=50, null=True)
    observed_fall = models.BooleanField(default=False)
    yearfound = models.CharField(max_length=50, null=True)
    country = models.CharField(max_length=50, null=True)
    mass = models.CharField(max_length=50, null=True)
    classification = models.CharField(max_length=50, null=True)
    descriptions = models.CharField(max_length=50, null=True)
    history = models.CharField(max_length=50, null=True)
    place_of_purchase = models.CharField(max_length=50, null=True)
    date = models.CharField(max_length=50, null=True)
    shock_stage = models.CharField(max_length=50, null=True)
    weathering_grade = models.CharField(max_length=50, null=True)

    def __str__(self):
        return self.title

问题部分中的错误'ARTICLE HAS NOT OBJECT MEMBER'

将view.py导入urls.py的正确语法是什么?我正在尝试添加分页和搜索,并遇到了SyntaxError“ SyntaxError:invalid语法”。我尽力调试它...

python django django-views django-urls
1个回答
0
投票

应该是

© www.soinside.com 2019 - 2024. All rights reserved.