我有一个网址:
http://www.example.com/org/companyA
我希望能够使用正则表达式将CompanyA传递给视图.
这就是我所拥有的:
(r'^org/?P<company_name>\w+/$',"orgman.views.orgman")
Run Code Online (Sandbox Code Playgroud)
它不匹配.
理想情况下,所有看起来像example.com/org/X的URL都会将x传递给视图.
提前致谢!
当使用@login_required装饰器并设置LOGIN_URL变量时,我发现了一种信息泄漏.
我有一个网站,要求所有内容的强制登录.问题是,当它是现有页面时,您将被重定向到登录页面,并设置下一个变量.
所以当没有登录并要求:
http://localhost:8000/validurl/
Run Code Online (Sandbox Code Playgroud)
你看到了这个:
http://localhost:8000/login/?next=/validurl/
Run Code Online (Sandbox Code Playgroud)
在请求不存在的页面时:
http://localhost:8000/faultyurl/
Run Code Online (Sandbox Code Playgroud)
你看到了这个:
http://localhost:8000/login/
Run Code Online (Sandbox Code Playgroud)
这揭示了一些我不想要的信息.我想过覆盖login方法,强制下一个为空并在这个子类方法上调用'super'.
另一个问题是我的一些测试在没有设置LOGIN_URL的情况下失败.他们重定向到'/ accounts/login /'而不是'/ login /'.因此,为什么我想使用LOGIN_URL但禁用'自动下一个'功能.
谁可以对这个问题有所了解?
非常感谢.
杰拉德.
我有两个类似的代码.第一个按预期工作.
urlpatterns = patterns('',
(r'^(?P<n1>\d)/test/', test),
(r'', test2),
{% url testapp.views.test n1=5 %}
Run Code Online (Sandbox Code Playgroud)
但添加第二个参数会使结果返回空字符串.
urlpatterns = patterns('',
(r'^(?P<n1>\d)/test(?P<n2>\d)/', test),
(r'', test2),)
{% url testapp.views.test n1=5, n2=2 %}
Run Code Online (Sandbox Code Playgroud)
意见签名:
def test(request, n1, n2=1):
Run Code Online (Sandbox Code Playgroud) 我在mysite项目的urls.py中有以下代码.
/mysite/urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^gallery/$', include('mysite.gallery.urls')),
)
Run Code Online (Sandbox Code Playgroud)
当我尝试访问gallery/urls.py中设置的网址时,这会产生404页面.
/mysite/gallery/urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^gallery/browse/$', 'mysite.gallery.views.browse'),
(r'^gallery/photo/$', 'mysite.gallery.views.photo'),
)
Run Code Online (Sandbox Code Playgroud)
404错误
Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:
^gallery/$
The current URL, gallery/browse/, didn't match any of these.
Run Code Online (Sandbox Code Playgroud)
此外,该网站托管在媒体寺(dv)服务器上并使用mod_wsgi
有没有办法以编程方式将URL模式添加到Django而无需重新启动服务器?
或者有没有办法强制Django重新处理/缓存URL模式(URLconf)?
我有一个在django开发的网站,其中包括大约25000个郊区.我需要一些东西来列出网站中的所有网址,并检查链接是否定期中断,所以我更喜欢做一些我可以作为脚本运行的东西.
我应该遵循哪种方法?任何的想法 ?
我使用Django和Django REST框架作为后端,AngularJS作为前端.
对于用户管理,我使用的是django-rest-auth,它使用django-allauth进行用户管理.作为基础,我使用了django-rest-auth的demo.
问题出在注册后,当您尝试验证通过激活网址发送电子邮件的电子邮件时: 127.0.0.1:8000/account/confirm-email/yhca8kmijle0ia7k3p7ztbvnd2n1xepn9kyeuaycmlzll5xw19ubjarnvjrot7eu/
其中*127.0.0.1:8000是Django后端.
但在我的情况下,它应该发送类似的URL localhost:9000/#/verifyEmail/akv2dcvrfnk9ex5fho9jk0xx1ggtpfazmi8sfsoi2sbscoezywfp7kzcyqnizrc0.所以这个验证将从前端完成,localhost:9000我的AngularJS前端在哪里.
有没有办法在django-allauth上定制activate_url?
django django-urls angularjs django-rest-framework django-allauth
如何在 Django 中捕获包含 yyyy-mm-dd 的 url。所以就像 www.mydomain.com/2011-02-12。我试过:
url(r'^(?P<date>\d{4}-\d{2}-\d{2})/$', views.index, name='index'),
Run Code Online (Sandbox Code Playgroud)
但是,服务器说找不到页面。
我无法理解以下警告。我有一个名为“v1”的命名空间,我使用这些命名空间来确定 API 中的版本控制(使用 django Rest 框架)。所以,我有这样的路径:
/v1/accounts/me
/v1/listings
Run Code Online (Sandbox Code Playgroud)
这是 URL 配置 (project/urls.py):
urlpatterns = [
path('admin/', admin.site.urls),
path('v1/accounts/', include('accounts.urls', namespace='v1')),
path('v1/listings/', include('listings.urls', namespace='v1'))
]
Run Code Online (Sandbox Code Playgroud)
账户/urls.py
app_name = 'accounts'
urlpatterns = [
url(r'^token/$', views.obtain_auth_token, name='obtain_token'),
url(r'^me/$', my_account, name='my_account'),
]
Run Code Online (Sandbox Code Playgroud)
清单/urls.py
app_name = 'listings'
urlpatterns = [
path('', recent_listings, name='recent_listings')
]
Run Code Online (Sandbox Code Playgroud)
一切都按预期进行。所有网址均已发送。版本控制有效。但是,我不断收到以下错误:
?: (urls.W005) URL 命名空间“v1”不是唯一的。您可能无法反转此命名空间中的所有 URL
我知道这是一个警告,我也许可以抑制它;但是,我想了解为什么会发生这种情况。根据我的 URLconf 和此警告,似乎不能有多个命名空间路径作为“兄弟”。它们需要是一个命名空间路径的子级(例如“v1”)。如果我的理解是正确的,我应该如何创建这个 URL 配置。
这是Django Docs 中的一个例子:
from django.urls import include, path
urlpatterns = [
path('index/', views.index, name='main-view'),
path('bio/<username>/', views.bio, name='bio'),
...
]
Run Code Online (Sandbox Code Playgroud)
from django.urls import include, re_path
urlpatterns = [
re_path(r'^index/$', views.index, name='index'),
re_path(r'^bio/(?P<username>\w+)/$', views.bio, name='bio'),
...
]
Run Code Online (Sandbox Code Playgroud)
根据我的理解,path语法更具可读性,并提供了可以从 URL 捕获信息并转换类型的尖括号。
我应该re_path 只在需要正则表达式时使用并path用于所有其他情况吗?