我使用的是python3.5.4和Django 2.0.0 final 0。我正在尝试创建一个Django博客web应用程序。我在创建Django视图和模板后收到错误。我的错误是:
Internal Server Error: /blog
Traceback (most recent call last):
File "/home/pecan/PycharmProjects/autisticstory/venv/lib/python3.5/site-packages/django/core/handlers/exception.py", line 35, in inner
response = get_response(request)
File "/home/pecan/PycharmProjects/autisticstory/venv/lib/python3.5/site-packages/django/utils/deprecation.py", line 93, in __call__
response = self.process_request(request)
File "/home/pecan/PycharmProjects/autisticstory/venv/lib/python3.5/site-packages/django/middleware/common.py", line 60, in process_request
if self.should_redirect_with_slash(request):
File "/home/pecan/PycharmProjects/autisticstory/venv/lib/python3.5/site-packages/django/middleware/common.py", line 79, in should_redirect_with_slash
is_valid_path('%s/' % request.path_info, urlconf)
File "/home/pecan/PycharmProjects/autisticstory/venv/lib/python3.5/site-packages/django/urls/base.py", line 155, in is_valid_path
resolve(path, urlconf)
File "/home/pecan/PycharmProjects/autisticstory/venv/lib/python3.5/site-packages/django/urls/base.py", line 24, in resolve
return get_resolver(urlconf).resolve(path)
File "/home/pecan/PycharmProjects/autisticstory/venv/lib/python3.5/site-packages/django/urls/resolvers.py", line 496, in resolve
sub_match = pattern.resolve(new_path)
File "/home/pecan/PycharmProjects/autisticstory/venv/lib/python3.5/site-packages/django/urls/resolvers.py", line 496, in resolve
sub_match = pattern.resolve(new_path)
File "/home/pecan/PycharmProjects/autisticstory/venv/lib/python3.5/site-packages/django/urls/resolvers.py", line 345, in resolve
kwargs.update(self.default_args)
ValueError: dictionary update sequence element #0 has length 1; 2 is required
[01/Jan/2018 21:12:43] "GET /blog HTTP/1.1" 500 88570
这是一个自闭症的故事/网址.py文件:
^{pr2}$博客/视图.py文件:
from django.shortcuts import render
from .models import Post
# Create your views here.
def post_list(request):
posts = Post.published.all()
return render(request, 'blog/post/list.html',
{'posts': posts})
博客/网址.py文件:
from django.conf.urls import url
from . import views
app_name = 'blog'
urlpatterns = [
url('^$', views.post_list, 'post_list'),
]
博客/模型.py文件:
from django.contrib.auth.models import User
from django.db import models
from django.utils import timezone
# Create your models here.
class Post(models.Model):
STATUS_CHOICES = (
('draft', 'Roboczy'),
('published', 'Opublikowany')
)
title = models.CharField(max_length=250)
slug = models.SlugField(max_length=250,
unique_for_date='publish')
author = models.ForeignKey(User,
related_name='blog_posts',
on_delete=models.CASCADE)
body = models.TextField()
publish = models.DateTimeField(default=timezone.now)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
status = models.CharField(max_length=10,
choices=STATUS_CHOICES,
default='draft')
class Meta:
ordering = ('-publish',)
class PublishedManager(models.Manager):
def get_queryset(self):
return super().get_queryset()\
.filter(status='published')
published = PublishedManager()
def __str__(self):
return self.title
模板/博客/列表.html文件:
{% extends "blog/base.html" %}
{% block content %}
{% for post in posts %}
<article class="blog-post">
<div class="blog-post-title">
<h2>{{ post.title }}</h2>
</div>
<div class="blog-post-meta">
<p>Published {{ post.publish }} by {{ post.author }}</p>
</div>
<hr/>
<div class="post-content">
{{ post.body|truncatewords:300 }}
</div>
<div class="post-footer">
Tags: <a href="#">hello</a> | <a href="#">world</a>
</div>
</article><!-- /.blog-post -->
{% empty %}
<p>Nie znaleziono żadnych postów!</p>
{% endfor %}
{% endblock %}
有人能帮我吗?在
它与
blogs/urls.py
中的这一行有关:这需要类似于:
^{pr2}$第三个参数是},因此需要指定它。有关详细信息,请参见here。在
kwargs
,而不是{相关问题 更多 >
编程相关推荐