【问题标题】:TastyPie urls are not workingTastyPie 网址不起作用
【发布时间】:2014-03-05 13:09:21
【问题描述】:

我一直在努力解决这个问题。遵循来自美味派网站的教程后,我按照以下方式设置了美味派。但是,每当我访问任何一个网址时,我都会收到一个 url 未找到 404 错误。非常感谢任何帮助!

# EXAMPLE URL NOT WORKING: http://mylocalserver/api/bluebird/album/


# MODEL FILE #################################################################
# Django imports
from django.db import models
# Python imports
import datetime


class Album(models.Model):
    name = models.CharField(max_length=20)
    description = models.TextField(blank=True)
    date = models.DateField(default=datetime.date.today())
    school = models.CharField(max_length=20)
    active = models.BooleanField(default=True)

    def __unicode__(self):
        return self.name


class Picture(models.Model):
    album = models.ForeignKey('Album')
    name = models.CharField(max_length=100)
    old_name = models.CharField(max_length=100)
    picture_location = models.ImageField(upload_to="BlueBird/Pictures/")
    active = models.BooleanField(default=True)

    def __unicode__(self):
        return self.name

# API FILE #################################################################
from tastypie.resources import ModelResource
from models import Album
from models import Picture


class AlbumResource(ModelResource):
    class Meta:
        queryset = Album.objects.all()
        resource_name = 'album'


class PictureResource(ModelResource):
    class Meta:
        queryset = Picture.objects.all()
        resource_name = 'picture'

# URL FILE 
from django.conf.urls import patterns, include, url
from django.conf.urls.defaults import *

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

# TastyPie API
from tastypie.api import Api

# BlueBird imports
import BlueBird.views
from BlueBird.api import AlbumResource
from BlueBird.api import PictureResource

# BlueBird API
bluebird_api = Api(api_name='bluebird')
bluebird_api.register(AlbumResource())
bluebird_api.register(PictureResource())
#album_resource = AlbumResource()
#picture_resource = PictureResource()

# for development only - remove in production server and reconfigure settings file if   needed
#from django.conf import settings
#from django.conf.urls.static import static

urlpatterns = patterns('',
                       url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
                       url(r'^admin/', include(admin.site.urls)),
                       url(r'^api/$', include(bluebird_api.urls)),
                       #url(r'^api/$', include(album_resource.urls)),
                       )

【问题讨论】:

    标签: django tastypie


    【解决方案1】:

    您的代码很好 - 但是您在 api 的 url 注册上有一个额外的“$”符号。使用:

    url(r'^api/', include(bluebird_api.urls)),
    

    代替:

    url(r'^api/$', include(bluebird_api.urls)),
    

    然后,url '/api/bluebird/album/' 起作用了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-17
      • 2015-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-10
      • 2013-01-09
      相关资源
      最近更新 更多