在jsp文件中,每当我点击CTRL+/快捷方式(在Windows上)时,该行都会被注释为"输出注释",这意味着在生成的html中可以看到注释:
<!-- Output comment -->
Run Code Online (Sandbox Code Playgroud)
我想要将此快捷方式与"隐藏注释"的生成绑定,这些注释将不会出现在输出中:
<%-- Hidden comment --%>
Run Code Online (Sandbox Code Playgroud)
我试图找到这个快捷方式的定义,但我没有运气.
我有几个自定义的 django 设置,这基本上是我的项目结构:
MainProject/
manage.py
my_project/
settings/
base.py
dev.py
prod.py
Run Code Online (Sandbox Code Playgroud)
__init__.py我在目录中创建了文件以将它们标识为包。
我已将其导出DJANGO_SETTINGS_MODULE为指向所选的设置文件。
该manage.py命令似乎处理得很好,我从来没有遇到过问题。
问题是无论我做什么都找不到任何设置文件。我已经尝试了几种可能的解决方案,但到目前为止似乎没有任何效果。django-admin.py
--settings=my_project.settings.dev manage.py让它指向 dev.py 文件settings中创建了一个文件(依次导入 base.py)。MainProjectmy_projectsettings文件,让 Django 知道它应该使用哪些文件settings这是关于第4点:
from django.core.management import setup_environ
try:
import my_project.settings.dev as settings
except ImportError:
import sys
sys.stderr.write("Couldn't find the settings.py module.")
sys.exit(1)
setup_environ(settings)
Run Code Online (Sandbox Code Playgroud)
到目前为止似乎没有任何效果。
=====================================
解决方案:
我没有找到确切的解决方案,但由于对所选答案的评论,我了解到您基本上可以用于manage.py您可以在 中执行的所有操作django-admin.py,我不知道!因为事情确实对我有用,所以manage.py我对此很满意。
git repository我的机器上有一个本地人,让我们说吧/develop/myPackage.
我目前正在开发它作为python包(一个Django应用程序),我想从我的本地访问它virtualenv.我试图将它的路径包含在我的PYTHONPATH(我在Mac上)
export PATH="$PATH:/develop/myPackage"
Run Code Online (Sandbox Code Playgroud)
该目录已__init__.py在其根目录和每个子目录中包含一个.无论我做什么,但我不能让它工作,python将不会看到我的包.
替代方案是:
pippython setup.py install由于我经常需要对我的代码进行更改,因此即使进行一些小的更改,最后两个解决方案也需要一直进行太多的工作.
难道我做错了什么?你会建议更好的解决方案吗?
我有两种用户:第一种用户必须付费才能注册到该站点,并且他可以执行一系列操作。在第二个可以注册和登录免费(与他们的Facebook或谷歌或用户名和密码),并可以执行不同的一套动作。
两者都需要有个人资料和自定义字段,当然,用户类型会有所不同。
django django-profiles django-registration django-users django-allauth
我正在创建一个Web应用程序,使用Django作为后端,Angular作为前端.
localhost:9000当Django正在运行时localhost:8000,Angular正在Yeoman堆栈上运行,我正在使用grunt-contrib-proxy将所有$http调用从angular at 重定向/api到django端口.因此,例如,如果Angular要求localhost:9000/api/hello将重定向到,localhost:8000/api/hello并且django将为其提供服务.
我打算设置Django Rest Framework为/api路径提供所有Angular请求.
到现在为止还挺好.
现在,我已经配置了一个Django-allauth用于Oauth对第三方服务进行身份验证的工作安装.它使用普通的旧Django工作,但我不知道如何与Angular一起使用它.
唯一想到的是allauth通过django rest框架提供视图,但是在身份验证后重定向呢?我无法绕过它.
是不是更好地放弃这种方法并直接从前面(Angular)进行Oauth身份验证?
编辑:
我设法login从Angular 调用视图
在grunt-contrib-proxy中我添加了帐户上下文和重写规则:
context: ['/api', '/accounts'],
rewrite: {
'^/api': '/api',
'^/account': '/accounts'
}
Run Code Online (Sandbox Code Playgroud)我已经从angular进行了ajax调用,要求allaluth登录视图(例如对于github): $http.get('/accounts/github/login/?process=login')
问题是我回来了:
XMLHttpRequest cannot load https://github.com/login/oauth/authorize?scope=&state=BlaBla&redirect…ub%2Flogin%2Fcallback%2F&response_type=code&client_id=BlaBlaBla. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9000' is therefore not allowed access. (index):1
Run Code Online (Sandbox Code Playgroud)
(BlaBla是我添加的).我想我做错了
创建 HOC 时,我不确定将包装哪种组件,有时它是另一个 React 组件,有时它可能是一个普通的 DOM 元素,如liand a。
WrappedComp = myHOC(BaseComponent)
Run Code Online (Sandbox Code Playgroud)
MyHOC 会将额外的 props 传递给被包装的组件,并且在大多数情况下这会正常工作。
但有时当 BaseComponent 是例如 anli它不会接受额外的道具并且 React 会抛出警告Unkown Prop Warning说 DOM 元素不接受非标准 dom 属性:https : //facebook.github.io/react/warnings/unknown-道具.html
那么如何检查 BaseComponent 是 DOM 元素还是其他元素呢?如果是,我不会将额外的道具传递给它。
有一个更好的方法吗?
我从旧的迁移CSSTransitionGroup到新的react-transition-group CSSTransition和TransitionGroup。
我正在创建(破解)叠加层加载器,并且尝试在动画出现和消失时将动画应用于叠加层。
具体来说,当我将active=true道具传递给时,会将LoadingOverlayWrapper新CSSTransition的东西添加到TransitionGroup(该Fade组件)中,以包裹叠加层以显示。
当active=false随后CSSTransition从内取出TransitionGroup(直接孩子TransitionGroupIS null)。
这是代码的相关部分:
import React, {Children} from 'react'
import PropTypes from 'prop-types'
import {CSSTransition, TransitionGroup} from 'react-transition-group'
import LoadingOverlay from "./LoadingOverlay";
import styles from './Overlay.sass';
const FirstChild = props => Children.toArray(props.children)[0] || null;
const Fade = (props) => (
<CSSTransition
{...props}
timeout={500}
classNames={{
appear: styles.appear,
appearActive: styles.appearActive,
enter: styles.enter,
enterActive: styles.enterActive, …Run Code Online (Sandbox Code Playgroud) 我有一个复杂的代码块来处理 ORM 对象关系的创建/更新。
假设模型是 A 和 B,关联是 OneToOne A - B(A.b_line指向 B)。
1)在创建/更新关联之前,需要更新一些A对象并将其保存到数据库中。在此操作期间,将计算并保存 A 对象的一些内部字段。
2)更新的A对象从db重新加载(因为我们需要派生的计算字段)并且可以继续与B对象的关联。
例子:
def update_and_associate(a_items):
with transaction.atomic():
for item in a_items:
item.field_alpha = 1
# updates item.field_beta depending on
# item.field_alpha
item.update_beta()
item.save() # Save to db
with transaction.atomic:
for item in a_items:
item.refresh_from_db()
b = item.b_line
b.total = a.field_beta
b.save()
# later...
try:
update_and_associate(items)
except Exception as e:
handle_exception(e)
Run Code Online (Sandbox Code Playgroud)
我将代码封装在嵌套原子事务块中,以便如果发生任何异常,则应回滚更改(带有 InnoDB 的 MySql)。
问题是,在第二个原子块中,当我重新加载项目时,refresh_from_db它们不同步,这意味着它们具有旧值,就好像第一个事务块根本没有运行一样。
我认为任何更改都会尽快提交,但如果出现异常,我们仍然有可能回滚。
所以我的问题是:通过将代码括起来transaction.atomic意味着要对数据库执行的所有写入修改都会推迟到我们退出该块为止?这可以解释为什么数据库中刷新的项目具有旧值。
我对bower/grunt/yeoman环境很新.我正在尝试自定义默认的yeoman Webapp生成器生成的应用程序.
基本上当我启动grunt serve默认浏览器时会启动打开由grunt服务器提供的URL.我想指定webapp应该在哪个浏览器中打开,但我没有运气.
这些是我的gruntfile中的connect任务的默认选项(使用grunt-contrib-connect):
connect: {
options: {
port: 9000,
open: true,
livereload: 35729,
// Change this to '0.0.0.0' to access the server from outside
hostname: 'localhost',
}
Run Code Online (Sandbox Code Playgroud)
我试图添加该字段,appName: 'Firefox'但我认为这不是我正在寻找的.我想这appName用于指定如何从命令行启动默认浏览器(例如使用open命令),我是对的吗?
是否可以在grunt-contrib-connect中指定浏览器或根本不指定?如果不是我应该如何完成这项任务?也许使用grunt-open?
谢谢
我在使用 django rest 框架时遇到问题。
我的前台正在将数据发布到 drf,其中一个字段可能是null或 空字符串""。
# models.py
class Book(models.Model):
title = models.CharField(max_length=100)
publication_time = models.TimeField(null=True, blank=True)
# serializers.py
from rest_framework import serializers
from .models import Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = ('id', 'title', 'publication_time')
Run Code Online (Sandbox Code Playgroud)
publication_time可以是blank或""。
空白案例有效,实际上当我发布 json 时{"title": "yeah a book", "publication_time": none}一切都很好。
当我发送时,{"title": "yeah a book", "publication_time":""}我确实收到验证错误"Time has wrong format. Use one of these formats instead: hh:mm[:ss[.uuuuuu]]."
我尝试向序列化程序类添加字段验证器:
def …Run Code Online (Sandbox Code Playgroud) django ×5
javascript ×2
package ×2
reactjs ×2
angularjs ×1
animation ×1
atomic ×1
comments ×1
django-admin ×1
django-users ×1
dom ×1
gruntjs ×1
json ×1
jsp ×1
node.js ×1
pip ×1
python ×1
pythonpath ×1
rest ×1
sublimetext2 ×1
validation ×1
virtualenv ×1