我在哪里将Djthon文件重定向到Django中的urls.py?教程显示如下:
urlpatterns = patterns('',(r'^ polls/$',' mysite.polls.views.index '),
我在哪里设置页面以轻松链接为something.something.page这样的?我目前只是试图在随机目录中删除直接的.py文件,并在urls.py文件中键入文件的名称,如下所示:
urlpatterns = patterns('',(r'file',' file.py '),
这显然不是正确的方法.如何在urls.py中创建要链接的页面?谢谢.
在浏览器中我得到:请求URL: http:// xxxxxx:8000/person/test /
使用person.urls中定义的URLconf,Django按以下顺序尝试了这些URL模式:
^person/ ^$
^person/ ^person/(?P<slug>[-\w]+)/$
^admin/
当前URL person/test/与其中任何一个都不匹配.
在python shell中我得到:
import re
url = 'person/test/'
pattern = re.compile(r'^person/(?P<slug>[-\w]+)/$'
re.match(pattern,url)
<_sre.SRE_Match object at 0xb7716860>
所以它显然应该匹配正则表达式.仅使用url person /(^ $ regexp)确实有效.
我当然试过重启开发服务器.这可能有什么问题?
我试过搜索但找不到答案.
我正在尝试编写一个接收坐标的函数,即纬度和经度.例如,53.345633,-6.267014.
然后,这些将作为用户当前位置以及到附近某些地方的指示(我已将这些位置存储在某处)提供给Google Maps API,并且希望返回指示.
所以,我几乎完成了所有的地图工作,但我无法测试它,因为令人沮丧的是,我根本无法弄清楚内部的正则表达式urls.py.
谁能帮我这个?我希望对你们这么简单.我早些尝试过,但失败了!这太令人沮丧因为我太接近完成这部分了!!
谢谢您的帮助!
PS是否可以使用逗号来设置坐标格式?也许53.345633+-6.267014会更好(然后我可以使用my_coords = coords.replace("+", ", ")或者什么)?
在我看来,我要做出的请求mine.com/more/stuff/从任意页面,如mine.com/lots/of/stuff/to/use或mine.com.因此,我无法将此作为使用./或./../输入内容的相对请求.我是否必须使用上下文处理器来做{{URL_BASE}}more/stuff/?有没有一种方法可以在Django或最好的方式做到这一点?
错误消息是:
Using the URLconf defined in Blog.urls,
Django tried these URL patterns, in this order:
^admin/doc/
^admin/
^post/ ^post/(?P<post_id>\d+)/$
The current URL, post/1458/, didn't match any of these.
Run Code Online (Sandbox Code Playgroud)
为什么?我认为post/1485/匹配^post/(?P<post_id>\d+)/$
我的根URL配置是:
urlpatterns = patterns('',
...
url(r'^post/', include('posts.urls')),
)
Run Code Online (Sandbox Code Playgroud)
然后,我posts/urls.py是:
urlpatterns = patterns('',
...
url(r'^post/(?P<post_id>\d+)/$', 'post.views.post_page'),
)
Run Code Online (Sandbox Code Playgroud) 在urls.py我发现自己做了很多这样的事情:
url(r'^show_comments/?$', 'show_comments', name='show_comments')
Run Code Online (Sandbox Code Playgroud)
我在那里重复三次相同的字符串.这种模式是否有常用的速记,还是我应该继续编写自己的简写?
我想在最终用户输入错误的网址时显示自定义404错误页面,我试过但我只得到Django默认的404页面.我使用的是Python(2.7.5),Django(1.5.4)
urls.py
from django.conf.urls import patterns, include, url
from mysite import views
handler404 = views.error404
urlpatterns = patterns('',
url(r'^$', 'mysite.views.home', name='home'),
)
Run Code Online (Sandbox Code Playgroud)
views.py
from django.http import HttpResponse
from django.shortcuts import render
from django.template import Context, loader
def home(request):
return HttpResponse("welcome to my world")
def error404(request):
template = loader.get_template('404.html')
context = Context({'message': 'All: %s' % request,})
return HttpResponse(content=template.render(context), content_type='text/html; charset=utf-8', status=404)
Run Code Online (Sandbox Code Playgroud)
我把我的404.html页面放在模板目录中.如何处理这个...?
我收到这个错误:
The included urlconf 'unsitiodigital.urls' does not appear to have any patterns in it.
Run Code Online (Sandbox Code Playgroud)
追溯指向此行
class Contacto(FormView):
template_name = "contacto.html"
form_class = FormContacto
success_url = reverse("main:mensaje_enviado") -->This Line
def form_valid(self, form):
form.send_email()
return super(Contacto, self).form_valid(form)
Run Code Online (Sandbox Code Playgroud)
有有效的模式,它没有reverse线路.urls.py - 一般
urlpatterns = [
url(r'^', include('main.urls', namespace="main")),
url(r'^admin/', include(admin.site.urls)),
]
Run Code Online (Sandbox Code Playgroud)
urls.py - 主要
from django.conf.urls import url
from main import views
urlpatterns = [
url(r'^$', views.Inicio.as_view(), name='inicio'),
url(r'^quienes_somos/$', views.QuienesSomos.as_view(), name='quienes_somos'),
url(r'^opciones/$', views.Opciones.as_view(), name='opciones'),
url(r'^contacto/$', views.Contacto.as_view(), name='contacto'),
-> url(r'^mensaje_enviado/$', views.MensajeEnviado.as_view(), name='mensaje_enviado')
] …Run Code Online (Sandbox Code Playgroud) 我的urls.py现在设置如下:
urlpatterns = [
url(r'^(?P<content_type_name>[a-zA-z-_]+)$', views.content_type, name = 'content_type'),
]
Run Code Online (Sandbox Code Playgroud)
这使得这个url将接受由 - 或_或两者分隔的任何单词或单词串.但是,我想要一个只接受content_type_name参数的三个单词之一的正则表达式 - "漫画","文章","视频".
我该如何设置?
我正在开发一个Django博客,并为帖子标题实施了slug我偶然发现了一个问题.
错误是
找不到页面(404)
请求方法:GET
请求URL: http:// localhost:8000/post/new /
Raising by:blog.views.post_detail
No Post匹配给定的查询.
这是我的urls.py
from django.conf.urls import include, url
from . import views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
url(r'^$', views.post_list),
url(r'^register', views.register),
url(r'^activate/(?P<activation_key>\w+)/', views.register_confirm),
url(r'^email_check', views.email_check),
url(r'^password_check', views.password_check),
url(r'^login', views.login),
url(r'^edit/$', views.update_profile),
url(r'^post/(?P<slug>[-_\w]+)/$', views.post_detail),
url(r'^post/new/$', views.post_new, name='post_new'),
url(r'^post/(?P<slug>[-_\w]+)/edit/$', views.post_edit, name='post_edit'),
url(r'^drafts/$', views.post_draft_list, name='post_draft_list'),
url(r'^post/(?P<slug>[-_\w]+)/publish/$', views.post_publish, name='post_publish'),
url(r'^post/(?P<slug>[-_\w]+)/remove/$', views.post_remove, name='post_remove'),
url(r'^post/(?P<slug>[-_\w]+)/comment/$', views.add_comment_to_post, name='add_comment_to_post'),
url(r'^comment/(?P<slug>[-_\w]+)/approve/$', views.comment_approve, name='comment_approve'),
url(r'^comment/(?P<slug>[-_\w]+)/remove/$', views.comment_remove, name='comment_remove'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)
该view.py …
django-urls ×10
django ×9
python ×6
regex ×2
coordinates ×1
django-views ×1
frameworks ×1
gps ×1