标签: django-urls

在 Django 中找不到 account_login 的反向操作

我正在尝试将django-allauth包中的注册视图添加到我的 Django 项目中。

我将视图添加到我的urls.py文件中,但我不断收到以下错误:

Reverse for 'account_login' not found. 'account_login' is not a valid view function or pattern name.
Run Code Online (Sandbox Code Playgroud)

以下是我将视图添加到我的网址的方法:

from allauth.account.views import SignupView

urlpatterns = [
    path("signup/", SignupView.as_view(), name="account_signup"),
]
Run Code Online (Sandbox Code Playgroud)

我真的不明白导入视图时缺少什么,有人可以帮助我吗?

python django django-urls django-views

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

django 2.2.5 url 路径中的 URL 正则表达式

我想在 url 中的单个视图中支持上述视图...在我的搜索中,我遇到了这篇文章,该文章不再受支持,并且我找到的所有教程都已过时,其中演示了如何完成任务Django 1.8.3。

在“products/views.py”中,我创建了产品和详细信息的视图。ProductListView 将显示所有产品,而 ProductDetailView 将显示单个产品详细信息(标题、描述、价格等)。

产品/views.py

class ProductListView(ListView):
    queryset = Product.objects.all()
    template_name = "products/list.html"


class ProductDetailView(DetailView):
    queryset = Product.objects.all()
    template_name = "products/detail.html"
Run Code Online (Sandbox Code Playgroud)

products/urls.py 包含 ProductListView 和 ProductDetailView 视图的路径。ProductListView 似乎是正确的。ProductDetailView 不正确!我收到以下警告:

警告: ?: (2_0.W001) 您的 URL 模式 '^products/(?P\d+)/$' [name='details'] 的路由包含 '(?P<',以 '^' 开头,或以“$”结尾。这可能是迁移到 django.urls.path() 时的疏忽。

ecommerce.py/urls.py 是我包含产品和详细信息网址的地方

电子商务/urls.py:

from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path, include

from .views import home, about, contact

urlpatterns = [
    path('admin/', admin.site.urls), …
Run Code Online (Sandbox Code Playgroud)

python django django-urls django-views

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

什么可能导致flatpages中出现Page Not Found错误?

我只是按照http://docs.djangoproject.com/en/dev/ref/contrib/flatpages/设置django的flatpages应用程序

一切都很好,但是当我链接到平面页面时,我总是得到:

Page not found (404)
Request Method:     GET
Request URL:    http://example.com/about/

[..]

The current URL, about/, didn't match any of these.
Run Code Online (Sandbox Code Playgroud)

那是什么?什么可能导致此错误?

提前致谢...

django django-urls

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

站点名称出现在django URL中

我有一个问题,在Django中调用url模板标签会附加网站名称(我不希望它在那里.)

假设网站名称是'mysite'.

例如:

<a href="{% url myapp.views.myview "myparam" %}">Link text</a>
Run Code Online (Sandbox Code Playgroud)

正在生产:

<a href="/mysite/foo/bar">Link text</a>
Run Code Online (Sandbox Code Playgroud)

当我想要它产生:

<a href="/foo/bar">Link text</a>
Run Code Online (Sandbox Code Playgroud)

我的urls.py设置如下:

from django.conf.urls.defaults import *
import mysite.myapp.views

urlpatterns = patterns('',
    (r'^/foo/bar/$', 'mysite.myapp.views.myview'),
)
Run Code Online (Sandbox Code Playgroud)

谁能指出我正确的方向?

编辑 - 当网站处于开发阶段时,它位于测试服务器的子目录中,应用程序作为子目录!所以它坐在http://www.mytestserver.com/mysite上.没有缓存,所有对/ mysite的引用都在上线之前删除了.

python django url django-urls

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

Django:urls.py中的语法错误

from django.conf.urls import patterns, include, url
from django.contrib import admin

admin.autodiscover()

urlpatterns = patterns('',
    (r'^admin/', include(admin.site.urls)),
    (r'^events/', include('events.urls')),
)
Run Code Online (Sandbox Code Playgroud)

这是我的events.urls:

from django.conf.urls.defaults import *
from events import views


urlpatterns = patterns('',
    url(r'^tonight/$', views.tonight, name='ev_tonight'),
)
Run Code Online (Sandbox Code Playgroud)

运行服务器后,我收到以下错误:

Exception Type:     SyntaxError
Exception Value:    

invalid syntax (urls.py, line 8)

我在这里错过了什么吗?

编辑:附加跟踪球

环境:

Request Method: GET
Request URL: http://127.0.0.1:8000/admin

Django Version: 1.4
Python Version: 2.7.3
Installed Applications:
('django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.admin',
 'events')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware')


Traceback:
File …
Run Code Online (Sandbox Code Playgroud)

django django-urls

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

Django 1.5.1'ImportError:运行测试时没有名为urls的模块'

我已经开始使用Django 1.5进行项目我已经对配置文件应用程序进行了以下网址,视图和测试.

当我浏览localhost:8000/profiles它工作得很好 的runserver

但是当我为配置文件app运行测试时,./manage.py test profile它失败并出现以下异常

  File "<stdlib>/site-packages/django/core/urlresolvers.py", line 342, in RegexURLResolver.urlconf_module
    self = <RegexURLResolver 'yoda.urls' (None:None) ^/>
    340     return self._urlconf_module
    341 except AttributeError:
--> 342     self._urlconf_module = import_module(self.urlconf_name)
    343     return self._urlconf_module
    344
  File "<stdlib>/site-packages/django/utils/importlib.py", line 35, in import_module
    name = 'yoda.urls'
    package = None
     32             break
     33         level += 1
     34     name = _resolve_name(name[level:], package, level)
---> 35 __import__(name)
     36 return sys.modules[name]
ImportError: No module named urls
Run Code Online (Sandbox Code Playgroud)

主urls.py

from django.conf.urls import patterns, include, url

from …
Run Code Online (Sandbox Code Playgroud)

python django django-urls django-testing

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

正则表达式匹配空字符串?

我想匹配和分组这些列出的任何单词:

aboutus/,race/,cruise/,westerlies/,weather/,reach/,gear/empty_string

这是一个解决方案,但与empty_string不匹配:

^(aboutus|race|cruise|westerlies|weather|reach|gear)/$
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:如何在此匹配中包含空字符串?

我仍然没有得到一个很好的解决方案.

所以我专门为empty_string添加了一个正则表达式:ie ^$.

注意:这些正则表达式适用于django urls.py.

更新:如果捕获组不包含,将会更好/

python regex django django-urls

3
推荐指数
2
解决办法
5673
查看次数

DJango URL反向错误:reversed()的参数必须是一个序列

这是我的urls.py

from django.conf.urls import include, url
from django.contrib import admin
from common.views import HomeView, LoadingSchoolView, ProcessSchoolView

urlpatterns = [
    url(r'^$', HomeView.as_view(), name='Index'),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^member/', include('member.urls', namespace='member')),
    url(r'^common/', include('common.urls', namespace='common')),
Run Code Online (Sandbox Code Playgroud)

在我的common/urls.py中

from django.conf.urls import url
from .views import QuerySchoolView

urlpatterns = {
    url(r'^querySchool/(?P<q>[a-z]*)$', QuerySchoolView.as_view(), name='querySchool'),
}
Run Code Online (Sandbox Code Playgroud)

现在,当我这样做

{% url 'common:querySchool' %}, 
Run Code Online (Sandbox Code Playgroud)

它给了我一个 TypeError

TypeError at /member/register/learner
argument to reversed() must be a sequence
Request Method: GET
Request URL:    http://127.0.0.1:8000/member/register/learner
Django Version: 1.8.2
Exception Type: TypeError
Exception Value:    
argument to reversed() …
Run Code Online (Sandbox Code Playgroud)

python django django-urls

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

Django项目urls.py中应用URI的别名

我的Django项目“动物”有一个名为“鸟”的应用。在animals / urls.py中,“ birds” URI会这样路由到bird / urls.py:

urlpatterns=[
    url(r'^birds/', include('birds.urls')),
    url(r'^b/',     include('birds.urls')), # alias
]
Run Code Online (Sandbox Code Playgroud)

“ birds /”是官方的永久基础URI;“ b /”被接受为快捷方式/别名。

如何将“ b /” URI(永久地)重定向到“ birds /”,这样即使用户可以输入“ b / penguin”,浏览器的地址栏也将(最终)显示“ birds / penguin”?我宁愿不要触摸“鸟”应用程序中的任何代码,因为它不应该知道(关心)项目如何将URI映射到应用程序。

我尝试使用

RedirectView.as_view(pattern_name='birds'))
Run Code Online (Sandbox Code Playgroud)

但这会导致410 Gone响应。和

RedirectView.as_view(url='/birds/'))
Run Code Online (Sandbox Code Playgroud)

将/ b /企鹅重定向到/ birds /,杀死了我的鸟。

django django-urls django-apps

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

在include()中指定名称空间而不提供app_name

models.py

from django.conf.urls import include, url

app_name = "Review"

urlpatterns = [
  url(r'^books/', include("Review.urls", namespace='reviews')),
]
Run Code Online (Sandbox Code Playgroud)

审核\ urls.py

from django.conf.urls import include, url
from django.contrib import admin
from .views import (
  ReviewUpdate,
  ReviewDelete,
)

urlpatterns = [
  url(r'^reviews/(?P<pk>\d+)/edit/$', ReviewUpdate.as_view(), name='review_update'),
  url(r'^reviews/(?P<pk>\d+)/delete/$', ReviewDelete.as_view(), name='review_delete'),
]
Run Code Online (Sandbox Code Playgroud)

我在urlpatterns之前提供了app_name。但这在运行代码时给了我错误。错误如下:

  File "E:\workspace\python\web\Book_Review_App\Book\urls.py", line 13, in <module>
    url(r'^books/', include("Review.urls", namespace='reviews')),
  File "E:\workspace\python\web\Book_Review_App\venv\lib\site-packages\django\urls\conf.py", line 39, in include
    'Specifying a namespace in include() without providing an app_name '
django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name …
Run Code Online (Sandbox Code Playgroud)

django django-urls

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