小编Dan*_*nny的帖子

Heroku/Django 部署:为什么我在成功部署和静态收集时收到错误 500?

几个月来,我一直在努力在 Heroku 上部署我的第一个 Django 站点。我使用 成功构建git push heroku master并成功收集静态文件heroku run python manage.py collectstatic --noinput,但是当DEBUG = config('DEBUG', default=False, cast=bool). 当 DEBUG 设置为 True 时,该站点确实可以工作(尽管我将不得不弄清楚使数据库工作)。我认为我允许的主机设置正确。我可以在 SO 上找到的所有答案都不能完全解决我的问题。

我从这个答案中添加了日志记录,在日志中为我提供了更多信息,但是我不明白为什么当我能够成功收集静态文件时它们不可用?

2018-12-09T16:24:38.181428+00:00 heroku[web.1]: State changed from starting to up
2018-12-09T16:24:39.173376+00:00 app[web.1]: /app/.heroku/python/lib/python2.7/site-packages/whitenoise/base.py:104: UserWarning: No directory at: /app/staticfiles/
2018-12-09T16:24:39.173419+00:00 app[web.1]: warnings.warn(u'No directory at: {}'.format(root))
2018-12-09T16:24:39.173421+00:00 app[web.1]: /app/.heroku/python/lib/python2.7/site-packages/whitenoise/base.py:104: UserWarning: No directory at: /app/staticfiles/
2018-12-09T16:24:39.173423+00:00 app[web.1]: warnings.warn(u'No directory at: {}'.format(root))
Run Code Online (Sandbox Code Playgroud)

我显然错过了很多,任何指导将不胜感激。

编辑添加:

设置.py

import os
import dj_database_url
from …
Run Code Online (Sandbox Code Playgroud)

django heroku

7
推荐指数
1
解决办法
4572
查看次数

努力将 JSON 数据转化为 Django 模型对象实例

我正在尝试获取 JSON 对象列表,将它们转换为 Python dicts,然后使用每个 Python dicts 的对象填充 Concert 模型。

import json
from models import Concert
with open('output.json') as f:
    data = json.load(f)
for concert in data:
    Concert.objects.create(**concert)
Run Code Online (Sandbox Code Playgroud)

我收到一条我以前从未见过的错误消息:

ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
Run Code Online (Sandbox Code Playgroud)

这是可以轻松解决的问题吗?我的模型中有一个外键对应于 JSON 对象中的键值对之一;这与这个错误有关吗?

django json django-models

1
推荐指数
1
解决办法
172
查看次数

如何结合Scrapy输出

我对 Scrapy 很陌生,这是迄今为止我最复杂的蜘蛛。

import scrapy
from scrapy.selector import HtmlXPathSelector


class CocabotSpider(scrapy.Spider):
    name = 'cocabot'
    start_urls = ['https://www.tallahasseearts.org/event/?keyword&start_date&end_date&date_format=m-d-Y&term=400&event_location&save_lst_list&view']
    custom_settings = {
        'FEED_URI' : 'output/cocaoutput.json'
    }

    def parse(self, response):
        # follow links to concert pages
        for href in response.css("div.search-img a::attr(href)"):
            yield response.follow(href, self.parse_concert)

        # follow links to venue pages
        for href in response.css("span.venue-event a::attr(href)"):
            yield response.follow(href, self.parse_venue)

        # follow links to pagination pages
        for href in response.css("li a.next.page-numbers::attr(href)"):
            yield response.follow(href, self.parse)

    def parse_concert(self, response):
        def extract_with_css(query):
            return response.css(query).extract_first()

        yield {
            'headliner' : …
Run Code Online (Sandbox Code Playgroud)

python scrapy

0
推荐指数
1
解决办法
2066
查看次数

Django/DRF:如何从serializers.SlugRelatedField 获取多个slug_field?

我有一个序列化器来填充 AJAX 表,如下所示:

class BookSerializer(seralizers.ModelSerializer):
    author = serializers.SlugRelatedField(
        many=True,
        read_only=True,
        slug_field="name"
    )

    class Meta:
        model = Book
        fields = (
            "name",
            "author",
            "slug"
        )
Run Code Online (Sandbox Code Playgroud)

author可以包含任意数量的作者,这就是为什么我需要以这种方式处理它。目前我可以打印出书名并将其与其链接。我还得到了作者姓名列表,而不是 ID。

我的问题是如何获取每个作者页面的 slugs?我想将每个作者链接到自己的页面,但是使用类似的东西author.slug不起作用,添加以下内容也不起作用:

    author_slugs = serializers.HyperlinkedRelatedField(
        many=True,
        read_only=True,
        view_name="slug"
    )
Run Code Online (Sandbox Code Playgroud)

然后我将author_slugs添加到字段中——这引发了一个错误,即author_slugs不是Book模型中的有效字段。有没有办法为每个作者访问多个字段?

django django-rest-framework

0
推荐指数
1
解决办法
1027
查看次数