我收到这些错误
不支持在 include() 中指定命名空间而不提供 app_name。在包含的模块中设置 app_name 属性,或者传递包含模式列表和 app_name 的 2 元组。
我的代码如下所示
项目名称.urls
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('learning.urls',namespace='learning')),
]
Run Code Online (Sandbox Code Playgroud)
应用程序名称.url
from django.urls import path
from learning.views import SendEmail
urlpatterns = [
path('',SendEmail.as_view(),name='home')
]
Run Code Online (Sandbox Code Playgroud) 我有两个指定不同路径的按钮。我想通过参数传递 object.id 。
我的网址
urlpatterns = [
path('', admin.site.urls, name ='home'),
path('dpo/imprimir/aprovado/<int:id>/',Aprovado, name ='aprovado'),
path('dpo/imprimir/reprovado/<int:id>/',Reprovado, name ='reprovado'),
]
Run Code Online (Sandbox Code Playgroud)
我的看法
from django.http import HttpResponse
from django.shortcuts import render
from django.shortcuts import render_to_response
from .models import Projeto
def Aprovado(request, id):
obj = Projeto.objects.get(id=id)
context = {
"object": obj
}
return render(request, "dpo/imprimir/aprovado.html", context)
def Reprovado(request, id):
obj = Projeto.objects.get(id=id)
context = {
"object": obj
}
return render(request, "dpo/imprimir/reprovado.html", context)
Run Code Online (Sandbox Code Playgroud)
** 我的模板**
{% load i18n admin_urls %}
{% block object-tools-items %}
<li>
<a …Run Code Online (Sandbox Code Playgroud) 我用 Django == 2.2.3 编写应用程序
现在我想获取我所有项目的所有 urls_patterns 和关联的视图名称。
我怎样才能得到这样的东西:
urls_patterns_view_names_list = [
("view_name", "view_name: url_pattern"),
...,
...,
...,
]
Run Code Online (Sandbox Code Playgroud)
我已经看到了几个关于 url 模式问题的主题,但没有一个对应并做我想做的事情。在大多数情况下,答案对于我的情况来说都是非常古老且令人着迷的。这就是为什么我重新表述我的问题:我想要 url 模式,并且每个 url 都与其视图的名称相关联:如何在 python 3.7 上使用 Django 2.2.3 来做到这一点?
我正在尝试使用 Django-allauth 进行某些密码重置功能,但是,我正在尝试使用 django-allauth 禁用登录/注册。到目前为止,我还没有找到一种方法将用户重定向到我的自定义注册和登录或完全禁用这些 URL。我想知道是否有解决方法可以删除这些 URL?
我当前的方法是手动添加所有 URL,但不添加这些 URL,但这会导致我的social-login链接出现错误。
目前,我已将以下内容添加到我的网址中:
url(r"^accounts/logout/$", allauth_views.logout, name="account_logout"),
url(r"^accounts/password/change/$", allauth_views.password_change,name="account_change_password"),
url(r"^accounts/password/set/$", allauth_views.password_set, name="account_set_password"),
url(r"^accounts/inactive/$", allauth_views.account_inactive, name="account_inactive"),
# E-mail
url(r"^accounts/email/$", allauth_views.email, name="account_email"),
url(r"^accounts/confirm-email/$", allauth_views.email_verification_sent,name="account_email_verification_sent"),
url(r"^accounts/confirm-email/(?P<key>[-:\w]+)/$", allauth_views.confirm_email,name="account_confirm_email"),
# password reset
url(r"^accounts/password/reset/$", allauth_views.password_reset,name="account_reset_password"),
url(r"^accounts/password/reset/done/$", allauth_views.password_reset_done,name="account_reset_password_done"),
url(r"^accounts/password/reset/key/(?P<uidb36>[0-9A-Za-z]+)-(?P<key>.+)/$",allauth_views.password_reset_from_key,name="account_reset_password_from_key"),
url(r"^accounts/password/reset/key/done/$", allauth_views.password_reset_from_key_done,name="account_reset_password_from_key_done"),
# social account
path('socialaccount/login/cancelled/', allauth_socialviews.login_cancelled,name='socialaccount_login_cancelled'),
path('socialaccount/login/error/', allauth_socialviews.login_error,name='socialaccount_login_error'),
path('socialaccount/signup/', allauth_socialviews.signup, name='socialaccount_signup'),
path('socialaccount/connections/', allauth_socialviews.connections, name='socialaccount_connections'),
Run Code Online (Sandbox Code Playgroud)
但是,由于我有 Google 社交登录,因此出现错误:
Reverse for 'google_login' not found. 'google_login' is not a valid view function or pattern name
我怎样才能实现这个而不引起任何错误?
我想按 中指定的名称获取 url urls.py。
{% url 'some_name' %}与模板类似,但在 Python 中。
我的网址.py:
urlpatterns = [
...
path('admin_section/transactions/', AdminTransactionsView.as_view(), name='admin_transactions'),
...
]
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西:
Input: url('admin_transactions')
Output: '/admin_section/transactions/'
Run Code Online (Sandbox Code Playgroud)
我知道django.urls.reverse函数,但它的参数必须是视图,而不是网址名称
http://127.0.0.1:8000/在我的 Django 项目中,如果用户未登录,我试图将主页重定向到登录页面,但有一个已登录的用户我想http://127.0.0.1:8000/成为http://127.0.0.1:8000/username/
我尝试了不同的答案,但没有具体的答案:这是登录后的登录视图:
class LoginView(LoginView):
template_name = 'login.html'
def get_success_url(self):
user=self.request.user.username
return f'/{user}/'
Run Code Online (Sandbox Code Playgroud)
这是登录网址:
path('accounts/login/', LoginView.as_view(redirect_authenticated_user=True,template_name='users/login.html'), name='login'),
Run Code Online (Sandbox Code Playgroud)
这是主页视图:
class home(LoginRequiredMixin, ListView):
model = Item
template_name = 'app/home.html'
context_object_name = 'items'
Run Code Online (Sandbox Code Playgroud)
这是应用程序网址:
path('<str:username>/', home.as_view(), name='home'),
Run Code Online (Sandbox Code Playgroud)
我的问题:
http://127.0.0.1:8000/username/如果用户已登录,则如何重定向主页login page
python django django-urls django-views django-authentication
我是一个需要帮助的Django新手:即使我在urls.py中更改了一些网址,我也会继续从Django获取相同的错误消息.这是我的settings.py中的相关行:
ROOT_URLCONF = 'mydjango.urls'
Run Code Online (Sandbox Code Playgroud)
这是我的urls.py:
from django.conf.urls.defaults import *
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Example:
# (r'^mydjango/', include('mydjango.foo.urls')),
# Uncomment the admin/doc line below and add 'django.contrib.admindocs'
# to INSTALLED_APPS to enable admin documentation:
#(r'^admin/doc/', include(django.contrib.admindocs.urls)),
# (r'^polls/', include('mydjango.polls.urls')),
(r'^$', 'mydjango.polls.views.homepage'),
(r'^polls/$', 'mydjango.polls.views.index'),
(r'^polls/(?P<poll_id>\d+)/$', 'mydjango.polls.views.detail'),
(r'^polls/(?P<poll_id>\d+)/results/$', 'mydjango.polls.views.results'),
(r'^polls/(?P<poll_id>\d+)/vote/$', 'mydjango.polls.views.vote'),
(r'^polls/randomTest1/', 'mydjango.polls.views.randomTest1'),
(r'^admin/', include(admin.site.urls)),
)
Run Code Online (Sandbox Code Playgroud)
所以我希望每次访问http://mydjango.yafz.org/polls/randomTest1/时都应该运行mydjango.polls.views.randomTest1函数,因为在我的polls/views.py中我有相关的功能:
def randomTest1(request):
# mainText = request.POST['mainText']
return HttpResponse("Default random …Run Code Online (Sandbox Code Playgroud) 我试图覆盖django-profiles中的url来引发404而不是传递给视图.
我正在寻找以下内容:
url(r'^profiles/$', lamdba x: raise Http404)
Run Code Online (Sandbox Code Playgroud)
但上述方法无效.这种事情有可能吗?
我知道我可以编写一个新的视图来引发404,但是如果我可以直接在url模式中执行它,我宁愿不知道.
编辑:具体来说,我得到invalid syntax (urls.py, line 29)了上面的例子.
我想用另外一种 robots.txt根据我的服务器是生产还是开发文件.
为此,我想以不同的方式路由请求 urls.py:
urlpatterns = patterns('',
// usual patterns here
)
if settings.IS_PRODUCTION:
urlpatterns.append((r'^robots\.txt$', direct_to_template, {'template': 'robots_production.txt', 'mimetype': 'text/plain'}))
else:
urlpatterns.append((r'^robots\.txt$', direct_to_template, {'template': 'robots_dev.txt', 'mimetype': 'text/plain'}))
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用,因为我没有patterns正确使用该对象:我明白了AttributeError at /robots.txt - 'tuple' object has no attribute 'resolve'.
我怎样才能在Django中正确执行此操作?
我想使用{%url'admin'%}将用户移动到Django的管理面板网站,但问题是我在应用程序中渲染的模板,我不想url("^admin/",admin.site.urls)在project/site/urls.py中重写
这里是
urlpatterns = [
url(r"^admin/", admin.site.urls, name="admin"),
url(r"^", include("core.urls")),]
Run Code Online (Sandbox Code Playgroud)
urlpatterns = [
url(r"^$",indexView.as_view() ,name="index" ),
]
accountspattenrns = {
url(r"^accounts/signup/$",signupView.as_view() ,name="signup" ),
url(r"^accounts/login/$",loginView.as_view() ,name="login" ),
url(r"^accounts/logout/$",logoutView.as_view() ,name="logout" ),
url(r"^accounts/profile/$",ProfileView.as_view() ,name="profile" ),
}
urlpatterns +=accountspattenrns
Run Code Online (Sandbox Code Playgroud)
<li><a href="{% url 'admin' %}"><i class="fa fa-black-tie fa-2x"></i>
<div>Admin</div></a></li>
Run Code Online (Sandbox Code Playgroud)