标签: django-urls

ValidationError:在 Django 中不是有效的 UUID

我在用着Django 2.0

我有一张Note桌子和StarredNotes一张桌子。

最初,没有id字段,因为它是默认添加的数据Django类型integer

现在我已将模型中的数据类型更改idUUID

模型.py

class Starred(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    note = models.ForeignKey(Note, on_delete=models.CASCADE)

    objects = StarredManager()

class ColorLabels(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    title = models.CharField(max_length=100, unique=True)
    value = models.CharField(max_length=100)
    default = models.BooleanField(default=False)
    updated = models.DateTimeField(auto_now=True)
    created = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title + '(' + self.value + ')'
Run Code Online (Sandbox Code Playgroud)

views.py

class StarredNotes(ListView):
    template_name = 'notes/starred.html'
    model = …
Run Code Online (Sandbox Code Playgroud)

django django-urls django-2.0

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

我可以在同一个应用程序中拥有不同的根 URL 吗?

在我的 DRF 项目中,我有 2 个应用程序,Users并且Products. Products有 2 个型号:CategoryProduct。我的根 URL conf 看起来像这样

api_urls = [
    path('users/', include('users.urls')),
    path('products/', include('products.urls'))
]

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include(api_urls))
]
Run Code Online (Sandbox Code Playgroud)

和 products.urls

urlpatterns = [
  path('', views.ProductListCreateAPIView.as_view())
]
Run Code Online (Sandbox Code Playgroud)

我希望我的 API 方案是这样的

/api/users/
/api/products/
/api/categories/
Run Code Online (Sandbox Code Playgroud)

现在,这对于前两个 URL 来说效果很好,但显然不适用于第三个,即如果我要添加

path('categories', views.CategoriesListCreateAPIView.as_view())
Run Code Online (Sandbox Code Playgroud)

对于我的 products.urls,URL 方案将是

/api/products/categories/
Run Code Online (Sandbox Code Playgroud)

我的问题是,有没有办法在/api/categories/不分裂Category成自己的应用程序的情况下实现目标?我觉得它太微不足道了,不足以保证拥有自己的应用程序,并且应该与Product. 显然,我想我可以直接在根 URL conf 中导入视图,但这感觉不像是一个“干净”的解决方案。我应该考虑为类别创建一个单独的应用程序吗?产品模型与类别有外键关系,对我来说,感觉好像两个独立的应用程序只会让事情变得复杂。

django django-urls django-rest-framework

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

django 删除模板中的硬编码 URL

我知道在模板文件中我可以包含此代码,它将返回链接列表

{% for q in all %}
    <ul>
        <li><a href={% url 'detail' q.id %}>{{ q.question_text }}</a></li>
    </ul>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

'detail'现在 django 将在我的应用程序目录的文件中搜索该名称,并自动为该参数urls.py提供 的值。q.id但是,如果我的 url 包含多个变量怎么办?所以这里我只能给出一个论点,即q.id。但如果我想给出多个论点怎么办?希望我清楚

python django url django-urls

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

使用基于类的视图包含类别 slug 和帖子 slug 的 URL

我正在开发一个简单的博客来学习 Django。我希望每个帖子都有一个这样的路径:

  • /category-1/标题帖子
  • /category-2/标题帖子
  • ETC..

下面是urls.py

from django.urls import include, path
from .views import CategoryList, PostList, SingleCategory, SinglePost, SingleTag, TagList

urlpatterns = [
        path("", PostList.as_view(), name="list_post"),
        path("<slug:slug>", SinglePost.as_view(), name="single_post"),
        path("tags/", TagList.as_view(), name="list_tag"),
        path("tags/<slug:slug>", SingleTag.as_view(), name="single_tag"),
        path("categories/", CategoryList.as_view(), name="list_category"),
        path("categories/<slug:slug>", SingleCategory.as_view(), name="single_category"),
]
Run Code Online (Sandbox Code Playgroud)

views.py

from django.shortcuts import render
from django.views.generic.list import ListView
from django.views.generic.detail import DetailView

from .models import Category, Post, Tag
# Create your views here.

class CategoryList(ListView):
    model = Category
    context_object_name = 'category_list'
    template_name = "list_category.html"


class …
Run Code Online (Sandbox Code Playgroud)

django redirect django-urls django-views django-2.1

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

Django ListView 中当前用户对象的列表

我想呈现模板上所有对象的列表,其作者是当前登录的用户。我将当前用户的用户名传递给url.py

<a href="{% url 'myscenarios' user.username %}">My List</a>
Run Code Online (Sandbox Code Playgroud)

我的网址.py:

path('myscenarios/<str:username>/', MyScenarioListView.as_view(), name='myscenarios'),
Run Code Online (Sandbox Code Playgroud)

我的问题是如何构建查询集views.py以及在 html 中的模板块中输入什么内容?

class MyScenarioListView(LoginRequiredMixin, ListView):
    model = Scenario
    template_name = 'testmanager/myscenarios.html'
    context_object_name = 'myscenarios'
    
    def get_queryset(self):
        user = get_object_or_404(User, username=self.kwargs.get('username'))
        return Scenario.objects.filter(scenarioAuthor = user).order_by('-date_posted')
Run Code Online (Sandbox Code Playgroud)

我应该在文件中输入什么代码myscenarios.html

python django django-urls django-generic-views

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

为什么 django url 中出现 404?

我为注册页面制作了网址。但它返回 404 错误。所有其他网址都运行良好。

我不知道原因。

  1. 主要网址

    urlpatterns = [ 路径('admin/', admin.site.urls), 路径('', include('mobileWeb.urls')), 路径('api/', include('api.urls')), ]

  2. 应用程序网址

    url 模式 = [

    path('', views.index, name='index'),
    
    path('index', views.index, name='index'),
    path('addComment', views.addComment, name='addComment'),
    
    # users
    path('signUp', views.signUp, name='signUp'),
    path('accounts/', include('allauth.urls')),
    
    path('martDetail/<int:martId>', views.martDetail, name='martDetail'),
    path('trade/<int:itemId>', views.trade, name='trade'),
    
    path('registerMart', views.registerMart, name='registerMart'),
    path('registerItem', views.registerItem, name='registerName'),
    path('delete', views.delete, name='delete'),
    path('deleteMart', views.deleteMart, name='deleteMart'),
    path('deleteItem', views.deleteItem, name='deleteItem'),
    
    path('purchaseItem', views.purchaseItem, name='purchaseItem'),
    path('selectItem', views.selectItem, name='selectItem'),
    path('addStatistics', views.addStatistics, name='addStatistics'),
    path('viewStatistics', views.viewStatistics, name='viewStatistics'),
    
    path('imtPosRegister', views.imtPosRegister, name='imtPosRegister'),
    path('imtPosRegisterTest', views.imtPosRegisterTest, name='imtPosRegisterTest'),
    path('imtPosSaleInfoTest', views.imtPosSaleInfoTest, name='imtPosSaleInfoTest'),
    path('imtPosSaleConfirmTest', views.imtPosSaleConfirmTest, …
    Run Code Online (Sandbox Code Playgroud)

django django-urls

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

如何使一个应用程序的一个视图显示在 Django 的所有 url 中?

我已经为我的项目的主模板创建了一个应用程序(所有其他模板都继承自此模板)。该模板包括页眉、页脚和旁白,我可以在其中从管理面板添加和删除帖子。现在,在渲染所有模板时,所有内容(页眉、页脚和相应的{% block content %})都会正确显示,但不会在旁边显示,因为我没有将任何 url 传递给管理它的视图。

我试图将该视图传递给项目的每个 URL,以便始终显示旁边的内容。我只是不明白该怎么做。

只是为了澄清:按照我现在要显示的代码,旁边localhost:8000仅显示。不在localhost:8000/inicio或任何其他网址中。

除了views.py

from django.shortcuts import render
from .models import asides

def post_aside(request):
    aside_posts = asides.objects.all()
    return render(request, "main/main.html", {"aside_posts" : aside_posts})
Run Code Online (Sandbox Code Playgroud)

应用程序的 urls.py 和旁边

from django.urls import path
from . import views

urlpatterns = [

    path('', views.post_aside, name='main'),

]
Run Code Online (Sandbox Code Playgroud)

项目的urls.py

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('admin/', admin.site.urls), 
    path('', …
Run Code Online (Sandbox Code Playgroud)

django django-urls

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

Robots.txt没有服务

我正在使用Python与django框架的Web应用程序.我已经创建了一个urls.py条目来提供robots.txt文件,但由于某种原因,它似乎无法提供服务.

url(r'^robots.txt$', 'support.views.robot_file',name="robot_file"),
Run Code Online (Sandbox Code Playgroud)

此方法适用于具有非常相似的条目的sitemap.xml

url(r'^sitemap.xml', 'support.views.sitemap_file',name="sitemap_file"),
Run Code Online (Sandbox Code Playgroud)

这让我相信只服务robots.txt文件是一个问题,因为当我改变它以服务robot.txt它的工作原理.

有人可以提出一些指示,说明为什么会发生这种情况?

django robots.txt django-urls

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

django中的语法错误

导致此urls.py语法错误的原因是什么?

它说

syntax error at Line 27[(r'^xd_receiver\.html$',.....] in ursl.py.
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚问题出在哪里.

  urlpatterns = patterns('',
        # Example:
        # (r'^universityDB/', include('universityDB.foo.urls')),

        # Uncomment the admin/doc line below to enable admin documentation:
        # (r'^admin/doc/', include('django.contrib.admindocs.urls')),
        # Uncomment the next line to enable the admin:
        (r'^admin/', include(admin.site.urls)),
        (r'^registrationForm/$','universityDB.universityDetails.views.registrationForm'),
        (r'^userDetails/$','universityDB.universityDetails.views.userDetails'),
        (r'^login/$','universityDB.universityDetails.views.login'),
        (r'^userCreated/$','universityDB.universityDetails.views.userCreated'),
        (r'^forgotPassword/$','universityDB.universityDetails.views.forgotPassword'),
        (r'^passwordRecovery/$','universityDB.universityDetails.views.passwordRecovery'),     
        (r'^accounts/profile', 'universityDB.universityDetails.views.profile'),   
        (r'^xd_receiver\.html$', direct_to_template, {'template': 'xd_receiver.html'}, name='xd_receiver'),   
        (r'^login_facebook_connect/$', 'login_facebook_connect', name='facebook_connect_ajax'),

    )
Run Code Online (Sandbox Code Playgroud)

python django django-templates django-models django-urls

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

如何在Django 1.3开发网址中提供静态文件和动态文件?

我有点难过.在开发中,我正在尝试为DJango 1.3中的应用程序提供静态和动态文件.我喜欢新的静态功能,但我似乎无法使其正常工作.

当我阅读文档时,看起来以下内容应该可行.它提供动态的东西很好,但不是静态的.

urlpatterns += staticfiles_urlpatterns()

if settings.DEBUG:
    urlpatterns += patterns('',
        url(r'^media/dynamic/(?P<path>.*)$', 'django.views.static.serve', {
            'document_root': settings.MEDIA_ROOT,
        }),
   )
Run Code Online (Sandbox Code Playgroud)

django django-urls django-static

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