标签: django-urls

如何在Django中添加默认(隐藏)值以形成模板?

鉴于Django.db模型类:

class P(models.Model):
   type = models.ForeignKey(Type) # Type is another models.Model class
   name = models.CharField()
Run Code Online (Sandbox Code Playgroud)

其中一个人希望创建一个具有指定类型的新P,即如何使"type"成为默认的隐藏字段(来自用户),其中type为:

http://x.y/P/new?type=3 
Run Code Online (Sandbox Code Playgroud)

因此,在形式中不会出现"类型"字段,但是当保存P时,其类型将具有id 3(即Type.objects.get(pk = 3)).

其次,当使用通用Django视图时,一个(并且可能)如何通过urls.py在URL中指定"默认"类型,即.

urlpatterns = ('django.generic.views.create_update',
  url(r'^/new$', 'create_object', { 'model': P }, name='new_P'),
)
Run Code Online (Sandbox Code Playgroud)

我发现非常难以描述,这可能是问题的一部分.:)输入非常感谢!

python django django-templates django-urls

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

如何定义在django中接受每一个字符串的url

在django中,我定义了这样的url

(r'^checkstring/(?P<string>\w+)/$',views.check_str,name='check str')
Run Code Online (Sandbox Code Playgroud)

但是,当我输入字符串输入,如ibrahim.yilmaz,ibrahi!m或ibrahim@ibrahim.com时,它返回http 404.那么我怎么能写出接受每一个字符串的url?

任何帮助将不胜感激.

易卜拉欣

python django django-urls

7
推荐指数
1
解决办法
7773
查看次数

反向自定义django管理站点网址?

例如,有没有办法可以反转添加到自定义django AdminSite的URL

class MyAdminSite(AdminSite):
    def get_urls(self):
        urls = super(MyAdminSite, self).get_urls()
        my_urls = patterns('',
            url(r'some_view/$',self.admin_view( SomeView.as_view()), name='some_view' ),
        )
        return my_urls + url

myadmin = MyAdminSite(app_name='my_admin')


url(r'^admin/', include(my_admin.urls)),
Run Code Online (Sandbox Code Playgroud)

我该怎么扭转呢? some_view

django django-urls django-admin

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

选择开始页面django-cms

django-cms始终使用最顶层的页面作为开始/登陆页面.我现在想要一个看起来像这个foo-home-bar的导航和home作为登陆页面.

一种方法是在/重定向到/ home添加一个虚拟页面,但这对我来说似乎有点粗糙.有没有更好的解决方案?我不介意改变cms本身的代码.

django django-urls django-cms

7
推荐指数
1
解决办法
5847
查看次数

如何在 React JSX 中使用 Django URL

我有一个现有的 Django 项目。我想在其中使用 ReactJS,因为 React 使处理状态非常容易。我面临的问题是如何重用 Django 中已经定义的 URL 模板?

示例:主页/urls.py

urlpatterns=[
    url(r'plot/api/(?P<plot_id>[0-9]+)?$', views.LivePlot.as_view(), name='livePlot'),
]
Run Code Online (Sandbox Code Playgroud)

如果我只使用 Django,我可以参考上面的 url,{% url 'Home:livePlot' plot_id %}其中 plot_id 是服务器传递的参数。

使用 React 时我无法利用相同的技术。有什么建议?我可以访问我的 React 代码中的 plot_id。

反应示例:

render: function() {
   return(<div className="plot"><a href=''></a></div>);
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,在上面的示例中,我希望有一种方法可以{% url 'Home:livePlot' plot_id %}在锚标记的 href 属性中放置 或类似的东西,以便链接指向 example.com/plot/{plot_id}。

现在我使用的解决方法涉及自己构建 url。因此,如果我将此 react 组件放在 example.com/sub/sub2 中,我会将 url 构建为'../../plot' + plot_id. 当我将相同的 React 组件放在多个页面中时,这种方法会失败,例如 example.com/sub 和 example.com/sub/sub2 这正是我拥有的用例。

django url django-urls reactjs

7
推荐指数
0
解决办法
982
查看次数

Django 测试 client.get() 返回 302 代码而不是 200

在 url 上运行测试返回 302 而不是 200。然而在生产中使用重定向测试器测试相同的 url 返回 200。不确定发生了什么。

测试.py

def test_detail(self):
    response = self.client.get('/p/myproduct-detail.html')
    self.assertEqual(response.status_code, 200)
Run Code Online (Sandbox Code Playgroud)

网址.py

    url(r'^p/(?P<slug>[-\w\d]+).html$', main.views.product_detail, 
        name='product-detail'),
Run Code Online (Sandbox Code Playgroud)

视图.py

def product_detail(request, slug):
    stuff...
    return render(request, 'product-detail.html', {})
Run Code Online (Sandbox Code Playgroud)

如果我添加follow=Trueclient.get()我会按预期收到 200 个代码。

django django-urls django-tests

7
推荐指数
1
解决办法
2773
查看次数

如何在 Django 的一个 url 地址中调用多个视图?

我正在尝试在 index.html 上显示由 new_measurement 定义的表单,但我只能设法开始IndexView()工作。我尝试了IndexView()和之间的各种组合new_measurement(),但这些都没有奏效。我知道这IndexView()不会传递任何与 相关的东西new_measurement()new_measurement()也不会被调用,这是我问题的核心。如果有对 Django 更有经验的人能告诉我我能做什么或应该做什么,我将不胜感激。谢谢你。

这是我的views.py

from django.shortcuts import render
from django.utils import timezone
from .models import Measurement
from .forms import MeasurementForm
from django.views import generic


class IndexView(generic.ListView):
    model = Measurement
    context_object_name = 'measurement_list'
    template_name = 'index.html'
    queryset = Measurement.objects.all()


def new_measurement(request):
    if request.method == "POST":
        form = MeasurementForm(request.POST)
        if form.is_valid():
            measurement = form.save(commit=False)
            measurement.measurement_date = timezone.now()
            measurement.save()
    else:
        form = MeasurementForm()

    return …
Run Code Online (Sandbox Code Playgroud)

python django django-urls django-views

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

Django 2 命名空间和 app_name

我很难理解 app_name 和命名空间之间的联系。

考虑项目级别的 urls.py

from django.urls import path, include

urlpatterns = [
    path('blog/', include('blog.urls', namespace='blog')),
]
Run Code Online (Sandbox Code Playgroud)

考虑应用级别(博客)urls.py

from django.urls import path
from . import views

app_name = 'blog'

urlpatterns = [
    path('', views.post_list, name='post_list'),
    path('<int:year>/<int:month>/<int:day>/<slug:post>/', views.post_detail, name='post_detail'),
]
Run Code Online (Sandbox Code Playgroud)

如果我注释掉 app_name,我会得到以下信息。

'Specifying a namespace in include() without providing an app_name '
django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in
 the included module, or pass a 2-tuple containing the list of …
Run Code Online (Sandbox Code Playgroud)

python django django-urls python-3.x

7
推荐指数
1
解决办法
5369
查看次数

Got 包含的 URLconf 中似乎没有任何模式

我已经看过这个问题的其他答案,但我仍然无法弄清楚出了什么问题。

通常,有两个 urls.py - 一个在我的account文件夹中,另一个在我的bookmarks文件夹中,位于根文件夹中 - bookmarks

当我尝试创建超级用户时,我得到以下信息:

django.core.exceptions.ImproperlyConfigured: The included URLconf '<module 'account.urls' from '/Users/aleksanderjess/Documents/PacktPub/Django/bookmarks/account/urls.py'>' does not appear to have any patterns in it. If you see valid patterns in the file then the issue is probably caused by a circular import.
Run Code Online (Sandbox Code Playgroud)

我完全不知道为什么。进口看起来是合法的。

这里有两个 urls.py

account/urls.py

from django.contrib.auth import views
from . import views

urls = [
    path('login/', views.user_login, name='login'),
]
Run Code Online (Sandbox Code Playgroud)

然后是书签中的一个,如下所示:

from django.contrib import admin
from django.urls import path, include
from django.conf …
Run Code Online (Sandbox Code Playgroud)

python django django-urls

7
推荐指数
1
解决办法
6093
查看次数

Django 中 urls.py 中 app_name 的目的是什么?

include()从 Django 应用程序到项目的 urlconf 时urls.py,某种应用程序的名称(或命名空间)应指定为:

  • app_namespaceinclude((pattern_list, app_namespace), namespace=None)urls.py

或者

  • app_name应用程序中的变量urls.py

因为,我猜是 Django 2,第二种方法是首选方法,尽管我从 Django 3 文档中复制粘贴了第一个函数签名。但这不是重点。

我目前对namespace参数的理解include()是它是我在使用reverse().

app_namein app'surls.pyapp_namespacein main的目的是什么urls.py
这些是完全一样的吗?
Django 如何使用它?

我在这里找到的现有问题(和答案)解释了我应该如何指定它而不是为什么。

django django-urls

7
推荐指数
1
解决办法
3255
查看次数