首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wagtail/Weasyprint URLFetchingError /恢复/生成

Wagtail/Weasyprint URLFetchingError /恢复/生成
EN

Stack Overflow用户
提问于 2021-07-20 15:54:19
回答 1查看 280关注 0票数 0

我正在做我的第一个django/wagtail项目,在那里我使用模板来生成一份简历。我已经设法通过heroku发布了我的项目,并且我能够加载它。但是,当我想要按下"Get“时,我不知道如何处理错误URLFetchingError at /resume/generate

下面您可以看到我的完整回溯以及我是如何设置我的urls.py文件的。任何关于如何解决这一问题的建议都将不胜感激。

urls.py

代码语言:javascript
复制
from django.urls import include, path
from django.contrib import admin

from wagtail.admin import urls as wagtailadmin_urls
from wagtail.core import urls as wagtail_urls
from wagtail.documents import urls as wagtaildocs_urls

from search import views as search_views

urlpatterns = [
    path('django-admin/', admin.site.urls),

    path('admin/', include(wagtailadmin_urls)),
    path('documents/', include(wagtaildocs_urls)),

    path('search/', search_views.search, name='search'),

]


if settings.DEBUG:
    from django.conf.urls.static import static
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns

    # Serve static and media files from development server
    urlpatterns += staticfiles_urlpatterns()
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns = urlpatterns + [
    # For anything not caught by a more specific rule above, hand over to
    # Wagtail's page serving mechanism. This should be the last pattern in
    # the list:
    path("", include(wagtail_urls)),

    # Alternatively, if you want Wagtail pages to be served from a subpath
    # of your site, rather than the site root:
    #    path("pages/", include(wagtail_urls)),

    # Wagtail-resume
    path("resume/", include("wagtail_resume.urls")),
    #path("generate/", include("wagtail_resume.urls")),
]

溯源

代码语言:javascript
复制
Request Method: GET
Request URL: https://mighty-ridge-73883.herokuapp.com/resume/generate?page_id=4

Django Version: 3.2.5
Python Version: 3.9.6
Installed Applications:
['home',
 'search',
 'wagtail.contrib.forms',
 'wagtail.contrib.redirects',
 'wagtail.embeds',
 'wagtail.sites',
 'wagtail.users',
 'wagtail.snippets',
 'wagtail.documents',
 'wagtail.images',
 'wagtail.search',
 'wagtail.admin',
 'wagtail.core',
 'modelcluster',
 'taggit',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'wagtailmetadata',
 'wagtailmarkdown',
 'wagtail_resume',
 'storages']
Installed Middleware:
['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',
 'django.middleware.security.SecurityMiddleware',
 'whitenoise.middleware.WhiteNoiseMiddleware',
 'wagtail.contrib.redirects.middleware.RedirectMiddleware']



Traceback (most recent call last):
  File "/app/.heroku/python/lib/python3.9/site-packages/weasyprint/urls.py", line 252, in fetch
    result = url_fetcher(url)
  File "/app/.heroku/python/lib/python3.9/site-packages/weasyprint/urls.py", line 217, in default_url_fetcher
    response = urlopen(
  File "/app/.heroku/python/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/app/.heroku/python/lib/python3.9/urllib/request.py", line 523, in open
    response = meth(req, response)
  File "/app/.heroku/python/lib/python3.9/urllib/request.py", line 632, in http_response
    response = self.parent.error(
  File "/app/.heroku/python/lib/python3.9/urllib/request.py", line 561, in error
    return self._call_chain(*args)
  File "/app/.heroku/python/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/app/.heroku/python/lib/python3.9/urllib/request.py", line 641, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)

During handling of the above exception (HTTP Error 400: Bad Request), another exception occurred:
  File "/app/.heroku/python/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/app/.heroku/python/lib/python3.9/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/app/.heroku/python/lib/python3.9/site-packages/wagtail_resume/views.py", line 42, in resume_pdf
    HTML(url=resume_url).write_pdf(
  File "/app/.heroku/python/lib/python3.9/site-packages/weasyprint/__init__.py", line 222, in write_pdf
    self.render(
  File "/app/.heroku/python/lib/python3.9/site-packages/weasyprint/__init__.py", line 172, in render
    return Document._render(
  File "/app/.heroku/python/lib/python3.9/site-packages/weasyprint/document.py", line 396, in _render
    context = cls._build_layout_context(
  File "/app/.heroku/python/lib/python3.9/site-packages/weasyprint/document.py", line 370, in _build_layout_context
    css = CSS(
  File "/app/.heroku/python/lib/python3.9/site-packages/weasyprint/__init__.py", line 356, in __init__
    with result as (source_type, source, base_url, protocol_encoding):
  File "/app/.heroku/python/lib/python3.9/contextlib.py", line 117, in __enter__
    return next(self.gen)
  File "/app/.heroku/python/lib/python3.9/site-packages/weasyprint/__init__.py", line 430, in _select_source
    with result as result:
  File "/app/.heroku/python/lib/python3.9/contextlib.py", line 117, in __enter__
    return next(self.gen)
  File "/app/.heroku/python/lib/python3.9/site-packages/weasyprint/__init__.py", line 440, in _select_source
    with fetch(url_fetcher, url) as result:
  File "/app/.heroku/python/lib/python3.9/contextlib.py", line 117, in __enter__
    return next(self.gen)
  File "/app/.heroku/python/lib/python3.9/site-packages/weasyprint/urls.py", line 254, in fetch
    raise URLFetchingError('%s: %s' % (type(exc).__name__, str(exc)))

Exception Type: URLFetchingError at /resume/generate
Exception Value: HTTPError: HTTP Error 400: Bad Request?
EN

回答 1

Stack Overflow用户

发布于 2021-07-20 16:17:51

正如注释所指出的,path("", include(wagtail_urls)),应该是列表中的最后一个模式,因为它捕获了与更具体的规则不匹配的所有内容--

代码语言:javascript
复制
path("resume/", include("wagtail_resume.urls")),

线是永远达不到的。你应该把它移到wagtail_urls线上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68457913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档