[英]Django, blog app, on local server can only see administrator page
自從更新到Django 1.6.5以來,在Django中創建博客的簡單示例對我來說不再正確。 在我第一次創建Django項目之后,我可以運行127.0.0.1:8000/並且Django運行正常。 但是,一旦我進一步走了幾步,並在settings.py文件中將“ blog”添加到INSTALLED_APPS中,就創建了Blog App,我將無法再訪問127.0.0.1:8000,也無法訪問127.0.0.1 :8000 / blog,這是我在127.0.0.1:8000/blog遇到的頁面未找到(404)錯誤:
Request Method: GET
Request URL: http://127.0.0.1:8000/blog
Using the URLconf defined in mysite2.urls, Django tried these URL patterns, in this order:
^blog/
^admin/
The current URL, blog, didn't match any of these.
但是我確實創建了博客地址,即使在上面的錯誤中也是如此,^ blog /好的,我將向您展示html和py文件,我認為這對確定我的問題最有幫助。
C:\\ mysite2 \\ mysite2中的settings.py文件
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '=ja7o^#pm2hd!swt67%1h!)!et(i$91v1flks9ms-&8@r17((5'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
TEMPLATE_DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'blog', ## ***add for blog app
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
ROOT_URLCONF = 'mysite2.urls'
WSGI_APPLICATION = 'mysite2.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.6/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Internationalization
# https://docs.djangoproject.com/en/1.6/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.6/howto/static-files/
STATIC_URL = '/static/'
C:\\ mysite2 \\ mysite中的modles.py文件
from django.db import models
# Create your models here.
class Post(models.Model):
title = models.CharField(max_length = 140)
body = models.TextField()
date = models.DateTimeField()
def __unicode__(self):
return self.title
C:\\ mysite2 \\ mysite2中的urs.py文件
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'mysite2.views.home', name='home'), ## ** i tried uncommenting but no help
url(r'^blog/', include('blog.urls')), ## once i add this on i can not go to http://127.0.0.1:8000/
url(r'^admin/', include(admin.site.urls)),
)
C:\\ mysite2 \\ blog中的admin.py文件
from django.contrib import admin
# Register your models here.
from blog.models import Post
admin.site.register(Post)
C:\\ mysite2 \\ blog中的urls.py文件
from django.conf.urls import patterns, include, url
from django.views.generic import ListView, DetailView
from blog.models import Post
urlpatterns = patterns('',
#url(r'^$', app.views.show_homepage), ##http://stackoverflow.com/questions/11832178/404-error-in-django-when-visiting-runserver-returns-no-errors-though/11832382#11832382
url('r^$', ListView.as_view(
queryset=Post.objects.all().order_by("-date")[:10],
template_name="blog.html")),
)
C:\\ mysite2 \\ blog \\ templates中的base.html文件
<h1>Django Tutorial Blog</h1>
{% block content %}
{% endblock %}
C:\\ mysite2 \\ blog \\ templates中的blog.htmls文件
{% extends "base.html" %} <!-- think a way to mesh in html and python django (this is sytax to do it {% %} -->
{% block content %}
{% for post in object_list %}
<h3>{{post.title}}</h3>
<div class = "post_meta">
on {{ post.date }}
</div>
<div class = "post_body">
{{ post.body|safe|linebreaks}} <!-- if linebreaks automaticaly will read it-->
</div>
{% endfor %}
{% endblock %}
順便說一句,即使我不能去127.0.0:8000 / blog或127.0.0:8000,我也可以去127.0.0:8000 \\ admin並登錄並更新博客等。如果有人可以告訴我問題是,這將使這一天變得令人驚奇,因為我已經討論了一段時間了。
謝謝,湯姆
您有錯字:
url('r^$', ListView.as_view(
r
應該在'
前面。 將行更改為此:
url(r'^$', ListView.as_view(
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.