标签: django-urls

使用"OR"条件的正则表达式

我可以使用一些帮助来编写正则表达式.在我的Django应用程序中,用户可以点击以下URL:

http://www.example.com/A1/B2/C3
Run Code Online (Sandbox Code Playgroud)

我想创建一个允许接受以下任何一个有效URL的正则表达式:

http://www.example.com/A1  
http://www.example.com/A1/B2  
http://www.example.com/A1/B2/C3  
Run Code Online (Sandbox Code Playgroud)

我猜我需要使用"OR"条件,但是我无法让我的正则表达式进行验证.有什么想法吗?

更新:到目前为止这是正则表达式.请注意,我没有包含" http://www.example.com "部分 - Django为我处理.我只关心验证1,2或3个子目录.

^(\w{1,20})|((\w{1,20})/(\w{1,20}))|((\w{1,20})/(\w{1,20})/(\w{1,20}))$
Run Code Online (Sandbox Code Playgroud)

regex django django-urls

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

如何在我的Django urls.py中使用单个RegEx捕获多个参数?

我有一个应用程序,允许您通过3个字段过滤数据.我正在尝试在我的urls.py中编写一个RegEx,它可以捕获多个组合,而不必将每个可能的组合写出它自己的URL.

这是我的urls.py:

#urls.py
urlpatterns = patterns('', 
    # Uncomment the next line to enable the admin:
    (r'^admin/', include(admin.site.urls)),

    (r'(?P<key>\w*?)=(?P<value>\w*?)&|$', views.scriptFilter),
Run Code Online (Sandbox Code Playgroud)

我在pythonregex.com上测试了上面的RegEx,它似乎捕获了尽可能多的键/值对.但是,当我在我的应用程序中测试它时,Django只返回基于第一对的查询集,并忽略其他对.

例如,如果我输入: http:// MYSITE/feature = 1&session = 1&

Django仅返回基于feature = 1的数据,并忽略session = 1.

这是我的views.py:

#views.py
def scriptFilter(request, key, value):
    if key == 'session':
        sessionID = value
        qs = models.Script.objects.filter(session=sessionID)
    elif key == 'product':
        productID = value
        qs = models.Script.objects.filter(product=productID)
    elif key == 'feature':
        featureID = value
        scriptFeature = models.Feature.objects.get(pk=featureID)    
        qs = models.Script.objects.filter(feature=scriptFeature)
    else:
        qs = models.Script.objects.all()        
    caseTotal = qs.aggregate(Sum('caseCount'))
    scriptTotal = …
Run Code Online (Sandbox Code Playgroud)

regex django django-urls django-views

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

在Django中,如何使用请求来确定其URLconf视图名?

我可以从request.path以下位置获取视图功能:

from django.core.urlresolvers import resolve
view_func, _args, _kwargs = resolve(request.path)
Run Code Online (Sandbox Code Playgroud)

但是,我需要更多的东西.我需要获取一个视图名称列表,并查看['edit_foo', 'delete_foo']当前URL是否适用于其中一个.

我提出了一些使用一些内部构件的想法django.core.urlresolvers,但我想要一些有效且有些正确的东西(即,不是hacky,理想的文档记录).

python django django-urls

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

Django URL设计

我经常发现自己陷入了这样一个世界,在这个世界中,我不太确定我想出的网址.我认为这主要是因为我对django中的URL设计有一些问题仍然没有答案.

说,我为我的网站用户建立了一个公开的个人资料页面.可以通过提供用户ID来访问它.用户id应该是URL的一部分(即./profile/<userid>/)还是应该在querystring(/profile?userid=<userid>)中提供?为什么?

我在我的项目中广泛使用AJAX.AJAX URL的设计是否应与其对应的URL不同?是否有用于此目的的设计模式?

django django-urls

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

Django在网页上的两个视图

您好,并提前感谢您,

我非常喜欢Django/Python noobie.我只需要指导,不一定是答案.我已经阅读了所有相关文档,但我似乎无法找到我想要做的简明例子.

我有两个视图,一个是表单,另一个是列出数据库表中包含的数据的视图.我试图在用户调用URLS页面中列出的一个URL的同一网页上显示这两个视图.我确信这是可能的,我同样确信我遗漏了一些基本的东西.

谢谢您的帮助.

DP

python django django-urls django-views

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

在settings.py中让django SITEURL保持不变的方法

我来自PHP背景,我知道常量可以在框架中的大多数地方访问,我认为它在django中也是一样的.我试图在django中拥有该URL,但我试图从django.contrib获取它.我试图利用django的Site类并导入它.但问题是在加载settings.py时我无法导入任何django contrib.文件.

那么,如何让网站URL自动,我可以在任何地方使用,模板以及其他places.What是这样做的最佳方法是什么?任何python实用程序都可以这样做吗?

python django django-urls

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

如何在django中的URL中传递特殊字符

假设我想在url中传递用户名:

username  = 'kakar@gmail.com'
Run Code Online (Sandbox Code Playgroud)

所以在网址中,它是这样的:

url(r'(?P<user_name>\w+)/$', 'user_related.views.profile', name='profile'),
Run Code Online (Sandbox Code Playgroud)

并在views.py中获取该用户:

def profile(request, user_name):
    user = User.objects.get(username=user_name)

    return render(request, 'user_profile.html', {'user':user})
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

User matching query does not exist.
Run Code Online (Sandbox Code Playgroud)

因为django会自动转换@%40.如何将实际传递username给视图?请帮我解决这个问题.谢谢!

python django django-urls

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

TyperError Django在使用urls.py时

我是初学者,我正在使用Django 1.8.3和Python 2.7.3.我正在尝试运行服务器并收到以下错误:

Traceback:
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  108.                 response = middleware_method(request)
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/middleware/common.py" in process_request
  74.             if (not urlresolvers.is_valid_path(request.path_info, urlconf) and
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in is_valid_path
  647.         resolve(path, urlconf)
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
  522.     return get_resolver(urlconf).resolve(path)
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
  366.             for pattern in self.url_patterns:
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in url_patterns
  402.         patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in urlconf_module
  396.             self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/python2.7/importlib/__init__.py" in import_module
  37.     __import__(name)
File "/home/mercurial/internet.django/bzi/bzi/urls.py" in <module>
  24.     url(r'^domains/', include('mailserver.urls')),
File "/home/stas/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/conf/urls/__init__.py" in include …
Run Code Online (Sandbox Code Playgroud)

django django-urls django-views python-2.7

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

如何通过TemplateView.as_view重定向到.html文件

我正在尝试使用以下方法创建一个重定向到简单静态.html文件的网址:

url(r'^impressum/', TemplateView.as_view(template_name='impressum.html'), name='impressum'),
Run Code Online (Sandbox Code Playgroud)

据我了解,template_name参数采用.html文件的位置。我尝试了上述代码的几种变体,尝试重定向到文件,但在加载localhost:8000 / impressum /时始终出现404错误

这是我的文件夹目录的外观。我尝试了“ lwc / templates / impressum.html”和“ templates / impressum.html”。我在做什么错/该路径方向如何正常工作

编辑:在我的TEMPLATE_DIRS设置下面:

TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, 'templates'),
    )
Run Code Online (Sandbox Code Playgroud)

django django-templates django-urls

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

Django URL中的实例名称空间和应用程序名称空间有什么区别?

我指的是https://www.webforefront.com/django/namedjangourls.html以了解Django urlconfs。我遇到过术语实例名称空间和应用程序名称空间。我知道urlsconfs中的名称空间。但是我不知道它们之间的区别。

我为此推荐了django文档。它提到当在django项目中使用同一应用程序的多个实例时,实例和应用程序名称空间就变得生动起来。

但是,我仍然无法理解。我已经用谷歌搜索了,但是找不到任何帮助。

提前致谢。

python django django-urls urlconf

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