我正在按照我的urlpatterns所在的教程:
urlpatterns = patterns('',
url(r'^passwords/$', PasswordListView.as_view(), name='passwords_api_root'),
url(r'^passwords/(?P<id>[0-9]+)$', PasswordInstanceView.as_view(), name='passwords_api_instance'),
...other urls here...,
)
Run Code Online (Sandbox Code Playgroud)
该PasswordListView和PasswordInstanceView应该是基于类的观点.我无法弄清楚name参数的含义.它是传递给视图的默认参数吗?
我希望这个问题不会过于自以为是,我要问的是最佳/普遍的做法.
我正在发布一个用ES6编写的npm模块,并使用babel和汇总转换为ES5和UMD .
文件结构可以总结如下:
/coverage/
/dist/
/node_modules/
/src/
/test/
/tools/
.editorconfig
.eslintrc
.gitattributes
.gitignore
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
LICENSE.txt
package.json
README.md
Run Code Online (Sandbox Code Playgroud)
源代码在其中/src/,编译代码在/dist/.
这些目录是.gitignored:
用户真正使用的确是内容/dist/.
我一直在使用带有构建过程的入门套件:
package.json 整个包源将在GitHub上发布,但我不确定在npm上发布什么:
A)整个文件结构(删除/coverage/和/node_modules/),顶层package.json具有相关文件的入口点dist
要么
B)只发布dist精简内容package.json和README&LICENSE.我知道只是发布内容/dist会使源地图无效.
这里的常见做法是什么?
我想知道在python(3)中,抽象类是否可以具有具体方法。
虽然这似乎有效,但我不确定这是在 python 中执行此操作的正确方法:
from abc import ABCMeta, abstractclassmethod, abstractmethod
class MyBaseClass:
__metaclass__ = ABCMeta
@property
@abstractmethod
def foo_prop(self):
"""Define me"""
pass
@abstractclassmethod
def get_something(cls, param1, param2, param3):
"""This is a class method, override it with @classmethod """
pass
@classmethod
def get(cls, param1, param2):
"""Concrete method calling an abstract class method and an abstract property"""
if param1 < cls.foo_prop:
raise Exception()
param3 = param1 + 42
item = cls.get_something(param1, param2, param3)
return item
class MyConcreteClassA(MyBaseClass):
"""Implementation """
foo_prop = 99 …Run Code Online (Sandbox Code Playgroud) 我必须从Django调用外部REST API.外部数据源模式类似于我的Django模型.我应该保持远程数据和本地数据同步(可能与问题无关)
问题:
谢谢
编辑:对于愿意结束这个问题的人:我从一开始就用三个简单的问题解决了这个问题,到目前为止我收到了很好的答案,谢谢.
我在Windows上并尝试在名为Apps的公共文件夹中创建一个新应用程序.在对myApp文件夹已经存在内部应用程序.我正在从项目根目录运行:
python manage.py startapp myApp Apps\myApp
Run Code Online (Sandbox Code Playgroud)
我得到:
Error: 'Apps\\myApp' is not a valid app name. Please use only numbers, letters and underscores.
Run Code Online (Sandbox Code Playgroud)
我不知道为什么那个双反斜杠.我还尝试使用正斜杠来确定:
python manage.py startapp myApp Apps/myApp
Run Code Online (Sandbox Code Playgroud)
我明白了
Error: 'myApp' conflicts with the name of an existing Python module and cannot be used as an app name. Please try another name.
Run Code Online (Sandbox Code Playgroud)
我无法理解它是Windows还是Python问题.
我在Django中为一个非常复杂的系统建模.我将在这里仅发布它的相关部分,我将展示简化的用例图表,以更好地表达我的想法.
我基本上有两种类型的用户:卖家和客户.
一个卖家 " 获得 "一个客户,是指卖方现在有客户的个人信息,并可以与他/她交互.
卖方不能与他未获得的客户互动.

一个卖家创建模型的层次结构相关的对象(在分段每个模型与外键,其父连)

一个卖家 共享创建的框对象及其所有相关对象与一些客户

授权客户可以:

问题:
django django-models django-permissions django-users django-guardian
我正在开发一个我没有启动的 Django 项目,并且面临继承问题。
我有一个大模型(在示例中简化)称为MyModel它应该代表不同类型的项目。
的所有实例对象MyModel都应具有相同的字段,但方法行为根据项目类型而有很大差异。
到目前为止,它是使用一个MyModel名为 的单个字段来设计的item_type。
然后 MyModel 中定义的方法检查该字段并使用多个 if 执行不同的逻辑:
def example_method(self):
if self.item_type == TYPE_A:
do_this()
if self.item_type == TYPE_B1:
do_that()
Run Code Online (Sandbox Code Playgroud)
更重要的是,某些子类型有许多共同点,因此可以说子类型B和C代表第一级继承。然后这些类型有子类型,例如B1, B2, C1, C2(在下面的示例代码中更好地解释)。
我想说这不是执行多态性的最佳方法。
现在我想更改这些模型以使用真正的继承。
由于所有子模型都有相同的字段,我认为多表继承是没有必要的。我正在考虑使用代理模型,因为只有它们的行为应该根据它们的类型而改变。
这是我提出的伪解决方案:
ITEM_TYPE_CHOICES = (
(TYPE_A, _('Type A')),
(TYPE_B1, _('Type B1')),
(TYPE_B2, _('Type B2')),
(TYPE_C1, _('Type C1')),
(TYPE_C2, _('Type C2')))
class MyModel(models.Model):
item_type = models.CharField(max_length=12, choices=ITEM_TYPE_CHOICES)
def common_thing(self):
pass …Run Code Online (Sandbox Code Playgroud) python django proxy-classes django-models django-inheritance
我已经安装bootstrap-sass-official并font-awesome使用了凉亭.我已经尝试了所有可能的组合,使用scss在bootstrap中包含fontawesome.
最可能的解决方案是在我的应用程序main.scss文件中指定以下内容:
$fa-font-path: "../bower_components/font-awesome/fonts";
@import "font-awesome/scss/font-awesome";
@import '../../bower_components/bootstrap-sass-official/vendor/assets/stylesheets/bootstrap.scss';
Run Code Online (Sandbox Code Playgroud)
并@import "bootstrap/glyphicons";在主bootstrap.scss文件中注释掉.
如果我启动我grunt serve的http://localhost:9000/(我使用从默认Web应用程序的自耕农一个gruntfile)我可以看到我的应用程序运行.
我可以main.css在所有fontawesome类中看到我的文件,并在其中查看fonts(../bower_components/font-awesome/fonts/fontawesome-webfont.eot)位置的引用URL .
一切似乎都没问题,但每当我使用FontAwesome图标时,例如<span class="fa-star"></span>我得到一个空的方框而不是图标.我错过了一些我看不到的东西......
我正在使用pip和一个requirements.txt文件来处理我的virtualenv中的python包.我有一个我从Github安装的特定包,所以在我的文件中我有:
git+ssh://git@github.com/myuser/mypackage.git#egg=mypackage
Run Code Online (Sandbox Code Playgroud)
由于我经常使用这个包,我需要重新安装它,但是:
pip install -r requirements.txt让我回来
Requirement already satisfied (use --upgrade to upgrade)...
Run Code Online (Sandbox Code Playgroud)
对于具有新版本的requirements.txt中的所有包.
如果我运行pip install -r requirements.txt --upgrade它尝试升级我的所有包(我不想要),但我只想升级mypackage.在requirements.txt中,我试图添加一个特定的提交,如下所示:
git+ssh://git@github.com/myuser/mypackage.git@733c5b616da27cba14478c24b#egg=mypackage
Run Code Online (Sandbox Code Playgroud)
但是,当我再次运行pip时它抛出:
Requirement already satisfied (use --upgrade to upgrade)..bla bla bla
Run Code Online (Sandbox Code Playgroud)
题:
mypackage?#egg=mypackage吗?我想在ST3中总是使用空格而不是制表符来缩进.
我把这些放在我的设置中:
"translate_tabs_to_spaces": true,
"convert_tabspaces_on_save": true, // for a plugin
"detect_indentation": false,
"tab_size": 4
Run Code Online (Sandbox Code Playgroud)
该设置convert_tabspaces_on_save用于通过插件ExpandTabsOnSave强制转换选项卡 - >空格至少在文件保存
但无论如何,ST3使用制表符而不是空格来缩进新打开的文件.
它可能是一个错误,还是我使用了错误的设置?
提示:任何时候我Preferences.sublime-settings间接修改文件,例如使用命令Package Control: Disable Package保存文件而不是空格
django ×5
python ×5
babeljs ×1
class ×1
django-users ×1
django-views ×1
ecmascript-6 ×1
font-awesome ×1
formatting ×1
git ×1
indentation ×1
inheritance ×1
javascript ×1
node.js ×1
npm ×1
oop ×1
path ×1
pip ×1
rest ×1
sublimetext ×1
sublimetext3 ×1
url-pattern ×1
urlconf ×1
virtualenv ×1
windows ×1