我正在开发一个小应用程序,我可以在其中显示我的数据库中的所有表(sqlite3),并选择其中一个,可视化数据(我知道我可以使用管理员,但我需要在应用程序中这样做)
我的model.py中有不同的模型,比如myModel1,myModel2 ......
在我的views.py中
def myhomepage(request):
tables_list = connection.introspection.table_names()
return render(request, 'myhomepage.html', { 'tables_list': tables_list})
def detail_table(request, table):
try:
Table_to_View = ContentType.objects.get(app_label="myapp", model=table)
except Table_to_View.DoesNotExist:
raise Http404 ("La tabella non esiste")
context = {'Table_to_View' : Table_to_View }
return render(request, "detail_table.html", context )
Run Code Online (Sandbox Code Playgroud)
和模板myhomepage.html
{#something#}
<title>Lista delle tabelle</title>
<body>
{% if tables_list %}
<ul>
{%for t in tables_list %}
<li> <a href="{% url 'detail_table' t %}"> {{table}}</a></li>
{% endfor %}
</ul>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
这是urls.py
from django.conf.urls import url
from . …
Run Code Online (Sandbox Code Playgroud) 我写了下面的类来玩堆栈.
class Stack:
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def push(self,item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[len(self.items)-1]
def size(self):
return len(self.items)
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用它将其导入另一个文件
import stack
Run Code Online (Sandbox Code Playgroud)
但是当我打电话s = Stack()
时说它没有定义
在 myApp 中,我在模型中有多个类。我想在 admin.py 中导入所有这些类并注册。
是否可以不重复,例如
from django.contrib import admin
from .models import (classA,classB, classC)
Run Code Online (Sandbox Code Playgroud)
谢谢
杰夫
所以问题是我有一个由数字对[(0,0),(0,1)(0,2)......等组成的列表,我想知道如何从这个列表中删除所有具有相同数字的对.列表是由此函数创建的.
l1 = []
def fun2(x,y):
for x in range(x+1):
for y in range(y+1):
l1.append((x,y))
return l1
Run Code Online (Sandbox Code Playgroud) 所以一个小问题:
genres = (x, y, z,...)
search = Movie.filter(Q(genres=x) | Q(genres=y| ...)
Run Code Online (Sandbox Code Playgroud)
我可以在django中进行过滤,并且在这个变量中有这样但我不知道类型有多少变量.那有可能吗?
我构建了这个简单的小函数来将一个6个字符的字符串分成两个段,但为什么不返回两个3个字母的结果呢?即,我会想:
FXPair [0:2] => 0,1,2在索引方面?
def ISOCodes(FXPair):
ccy1 = FXPair[0:2]
ccy2 = FXPair[3:5]
return [ccy1, ccy2]
ISOCodes('USDCAD')
Run Code Online (Sandbox Code Playgroud)
['US','CA']
请说明为什么要解压太多(我的 for 循环中的 ValueError)。尝试过 deb
naislist = [('CONTROL FILE', '0', '0', '0'),
('REDO LOG', '0', '0', '0'),
('ARCHIVED LOG', '.69', '.59', '3'),
('BACKUP PIECE', '46.54', '0', '192'),
('IMAGE COPY', '0', '0', '0'),
('FLASHBACK LOG', '10.15', '6.31', '82'),
('FOREIGN ARCHIVED LOG', '0', '0', '0')]
print "size of naislist is ",len((naislist))
heading = ('MAIN MENU', 'LEVELS', 'LEVEL2', 'LEVEL3')
rearrange = dict(zip((0, 1, 2, 3), (len(str(x)) for x in heading)))
for tu, x in naislist:
rearrange.update((i, max(rearrange[i], len(str(el)))) for i, el in enumerate(tu)) …
Run Code Online (Sandbox Code Playgroud) 我的python代码复杂化了.
print len(list1)
print len(list2)
dikt = dict(zip(list1,list2))
print len(dikt)
Run Code Online (Sandbox Code Playgroud)
得到:
>> 95
>> 95
>> 26
Run Code Online (Sandbox Code Playgroud)
为什么dikt给我的值为26而不是95,可以补充一下列表中的元素是不一样的.我很无能为力.
我是Python的新手(牢记这一点)并且正在尝试初学者书中的一个例子.其中,有一个程序在屏幕上绘制随机圆圈.但是,尽管将其复制出字符的字符,但在第19行仍然存在语法错误circle.py
.请问有人请花些时间为我查看代码吗?(顺便说一句,对于一个初学者,我对Python有一个很好的理解.我得到函数,变量和面向对象的编程,但之后我不太了解.)
1 import pygame, random
2
3 class Circle:
4 _minimum=100;_maximum=255
5 _colour=None
6 _properties=[]
7
8 def __init__(self,screen,width,height):
9 self.random_colour()
10 self.draw_circle(screen,width,height)
11
12 def draw_circle(self, screen, width, height):
13 x=random.randint(1,width)
14 y=random.randint(1,height)
15 size=random.randint(1,5)
16 self.properties=[x,y,size]
17 pygame.draw.circle(screen,self._colour,(x,y),size)
18
19 def random_colour(self)
20 red=random.randint(self._minimum,self._maximum)
21 green=random.randint(self._minimum,self._maximum)
22 blue=random.randint(self._minimum,self._maximum)
23 self._colour=[red,green,blue]
24
25 def clear_circle(self,screen):
26 pygame.draw_circle(screen,(0,0,0),(self._properties[0],self._properties[1],self._properties[2]
Run Code Online (Sandbox Code Playgroud)
感谢任何帮助.
如果我现在以我宣布全局变量的方式做正确的事情,我感到很困惑......
我这样做了:
class Addition:
global a,b
a,b=1,3
def __init__(self):
pass
def add(self):
return a+b
Run Code Online (Sandbox Code Playgroud)
这是声明我的全局变量的正确方法吗?或者我应该将它们放在init()构造中?像这样?
class Addition:
def __init__(self):
self.a=1
self.b=2
def add(self):
return self.a + self.b
Run Code Online (Sandbox Code Playgroud)
我应该使用哪个?还是有更好的方式来声明全局变量而不是这两个?我想让我的程序具有可读性,因为它可以让其他人轻松理解和实践.
我在学习python时遇到了一个问题.
print('test%d, %.2f%%' % (1,1.4))
Run Code Online (Sandbox Code Playgroud)
但是,它有一个错误.
ValueError: incomplete format
Run Code Online (Sandbox Code Playgroud)
但如果我这样执行:
print('test%d, %.2f%%' % (1,1.4))
test1, 1.40%
Run Code Online (Sandbox Code Playgroud)
它工作并打印'%'.但我不知道为什么?有人能帮我吗?谢谢.
python ×10
django ×3
python-3.x ×2
dictionary ×1
django-views ×1
filter ×1
list ×1
python-2.7 ×1
syntax ×1
zip ×1