我想根据类别模型动态创建菜单的链接。我使用 DetailView 和 ListView 创建单个类别的列表和详细信息页面,并且运行良好。
现在,每次用户添加新类别时,我希望在 base.html 中看到“下拉”菜单中的新链接。
这是base.html
{% load static %}
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<title>{% block head_title %}Test{% endblock head_title %}</title>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="/">Home <span …Run Code Online (Sandbox Code Playgroud) 我想在模板中显示用户上传的文件的大小。我已经看到文件对象具有属性 size 但是,因为我是 Python 和开发领域的新手,所以我很难理解如何使用它。
经过一些测试,我开发了这个脚本(filesize)添加到模型的末尾,您可以使用它上传文件:
class FileUpload(models.Model):
name = models.CharField(
max_length=50,
)
description = models.TextField(
max_length=200,
blank=True,
)
file = models.FileField(
upload_to='blog/%Y/%m/%d'
)
def __str__(self):
return self.name
@property
def filesize(self):
x = self.file.size
y = 512000
if x < y:
value = round(x/1000, 2)
ext = ' kb'
elif x < y*1000:
value = round(x/1000000, 2)
ext = ' Mb'
else:
value = round(x/1000000000, 2)
ext = ' Gb'
return str(value)+ext
Run Code Online (Sandbox Code Playgroud)
现在调用文件的大小很简单。
我分享这个是因为我希望这对某人有用。我要问的是:有更好的解决方案吗?
我正在开发一个简单的博客来学习 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) 我正在尝试为 GeoJSON 中的点分配一个图标。我使用这个片段:
map.addSource('Punti di allerta', {
type: 'geojson',
data: source_attentionpoints,
});
map.addLayer({
'id': 'Punti di allerta',
'type': 'circle',
'source': 'Punti di allerta',
'layout': {
'icon-image': '{% static 'image/webgis/icons/warning50.png' %}',
'icon-size': 0.5
}
});
Run Code Online (Sandbox Code Playgroud)
我看到这两个错误并且点没有呈现:
错误:“layers.Punti di allerta.layout.icon-image:未知属性“icon-image””错误:“layers.Punti di allerta.layout.icon-size:未知属性“icon-size””
但如果我使用这个片段而不是之前的片段,我可以毫无问题地看到所有点:
map.addLayer({
'id': 'Punti di allerta',
'type': 'circle',
'source': 'Punti di allerta',
'paint': {
'circle-radius': 8,
'circle-color': 'rgb(0,0,0)',
'circle-opacity': 1.0,
'circle-stroke-width': 4,
'circle-stroke-color': 'rgb(200,200,200)',
'circle-stroke-opacity': 1.0,
'circle-blur': 0,
}
});
Run Code Online (Sandbox Code Playgroud)
我有什么错吗?
django ×3
django-2.1 ×2
django-views ×2
django-2.2 ×1
django-urls ×1
html ×1
javascript ×1
mapbox ×1
mapbox-gl-js ×1
python ×1
redirect ×1