我有点好奇知道为什么Django 1.9用设置,URL和其他配置文件中的lists []替换了元组()
我刚升级到Django 1.9并发现了这些变化.他们背后的逻辑是什么?
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles'
]
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
Run Code Online (Sandbox Code Playgroud)
urls.py
urlpatterns = [
url(r'^', admin.site.urls),
]
Run Code Online (Sandbox Code Playgroud)
这些变化有什么不同吗?
我得到一个VariableDoesNotExist错误与下面的代码片段时obj1.page是None.
{{ obj1.val1|default:obj1.page.val2 }}
Run Code Online (Sandbox Code Playgroud)
通常,Django模板不关心None值的属性访问.
我有一个名为employees_salary的模型,我需要获得员工的第二高薪.
我得到的是 - 我可以过滤最新的(),第一个(),最后一个()
这是工作,但如何过滤最后我错过了什么
请帮忙
**
Run Code Online (Sandbox Code Playgroud)
我需要添加什么来指定所有下载mp3都将转到此目录:e:/ python/downloadedsongs
ydl_opts = {
'format': 'bestaudio/best',
'download_archive': 'downloaded_songs.txt',
'outtmpl': '%(title)s.%(ext)s',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
'logger': MyLogger(),
'progress_hooks': [my_hook],
}
Run Code Online (Sandbox Code Playgroud)
如果我理解正确outtmpl是输出文件名称的模板.**
我的 django 版本是 1.8.6。我已将 corsheaders 文件夹复制到项目文件夹中。我已经 pip install django-cors-headers(版本 1.1.0)。这是我的设置.py:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'MyWebsite_app',
'storages',
'rest_framework',
'corsheaders',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)
CORS_ORIGIN_ALLOW_ALL = True
Run Code Online (Sandbox Code Playgroud)
这是我的jquery:
function getLeague() {
$.ajax({
url: 'http://otherdomain.ashx?username=xxx&password=xxx&sportsBook=xxx&sportsType=xxx&gameType=xxx',
type: 'GET',
dataType: 'json',
success: function(data) {
alert('Success');
},
error: function(data) {
alert('Fail');
}
});
}
Run Code Online (Sandbox Code Playgroud)
执行 getLeague() 时,它不断警告“失败”。当我看到控制台时,它显示“XMLHttpRequest 无法加载http://otherdomain.ashx?username=xxx&password=xxx&sportsBook=xxx&sportsType=xxx&gameType=xxx。请求的源上不存在 Access-Control-Allow-Origin 标头”。我应该在 urls.py 或 view.py 中添加一些代码吗?谢谢。
我正在尝试在API(的Django rest框架)中翻译Dates ,到目前为止,国际化和本地化正在为所有其他方面工作,但我仍然坚持使用Dates。
只有英语和法语,而且我已经重新启动了几次服务器,但是无法获得FR中的日期, 因为您可以看到我使用过Rosetta
示例代码:
@staticmethod
def get_start_date(obj):
return obj.start_date.strftime("%d %B, %Y")
Run Code Online (Sandbox Code Playgroud)
当lang代码为en O / P时:
start_date“:” 2016年1月1日“
但是当郎代码FR预期的结果:
start_date“:“ 2016年1月1日”
还是用英语显示
settings.py, 我已经成功添加了基本设置,供您参考
MIDDLEWARE_CLASSES
'django.middleware.locale.LocaleMiddleware',
USE_L10N = True
Run Code Online (Sandbox Code Playgroud)
提前致谢
python django date internationalization django-rest-framework
我正在尝试验证一个表单集,它完美地显示在模板中,但是当我尝试保存它时,它的验证返回 False。
我试图把一些错误回调和错误 print(formset.non_form_errors)说如下:
<bound method PhysicianSpecialtiesFormFormSet.non_form_errors of <django.forms.formsets.PhysicianSpecialtiesFormFormSet object at 0x7fd70af38a10>>
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做才能在表单中输入正确的内容;表格是一个下拉列表,不可能出错。
def UpdatePhysician(request,id):
physician = get_object_or_404(Physician, id=id)
employee = get_object_or_404(Employee, id=physician.employee.id)
person = get_object_or_404(Person, id=employee.person.id)
try:
address = get_object_or_404(Address, id=return_id(str(person.addresses.values('id'))))
except:
address = None
try:
email = get_object_or_404(Email, id=return_id(str(person.emails.values('id'))))
except:
email = None
try:
phone = get_object_or_404(PhoneNumber, id=return_id(str(person.phone_numbers.values('id'))))
except:
phone = None
try:
academic_degree = get_object_or_404(AcademicDegree, id=return_id(str(employee.academic_degrees.values('id'))))
university = get_object_or_404(University, id=return_id(str(employee.academic_degrees.values('university'))))
except:
academic_degree = None
university = None
physician_specialties = get_list_or_404(PhysicianSpecialties, employee_academic_degree__employee__pk=physician.employee.id)
for item in physician_specialties:
print(unicode(item.specialty)) …Run Code Online (Sandbox Code Playgroud) 我想要编程的是,
当USB驱动器连接到系统中的代码必须自动启动和复制内容(目录,文件等的USB驱动器),以默认的备份目录系统.
我遇到过一些网站,发现我可以使用shutil库 https://docs.python.org/2/library/shutil.html 高级文件操作.我没有使用过Shutil Library,那么有没有其他方法可以实现,
有没有人这样做过所以请帮助.谢谢
我正在使用自定义UserCreationForm创建新用户,然后将auth.views中的password_reset与自定义电子邮件模板一起使用,以向用户发送注册邮件。此过程运行良好,用户能够成功完成注册过程并开始使用该应用程序。我现在想创建用户,而不必为用户设置密码。我尝试按照此处建议的那样在UserCreationForm init方法中将self.fields ['password1']。required和self.fields ['password2']。required设置为False,但这对我不起作用。不幸的是,事实证明调试起来很困难。我没有看到任何错误消息,但是我知道没有调用RegistrationView注册方法。
这是我的UserCreationForm
class UserCreateForm(UserCreationForm):
email = forms.EmailField(required=True)
class Meta:
model = User
fields = ("email",)
def __int__(self):
self.fields['password1'].required = False
self.fields['password2'].required = False
def save(self, commit=True):
user = super(UserCreateForm, self).save(commit=False)
clean_email = self.cleaned_data["email"]
user.email = clean_email
if commit:
user.save()
custom_user = CustomUser()
custom_user.id = user
custom_user.save()
return user
Run Code Online (Sandbox Code Playgroud)
这是我的注册视图
class UserRegistration(RegistrationView):
def __init__(self):
self.form_class = UserCreateForm
self.success_url = 'login'
self.template_name = 'register.html'
def register(self, request, form):
new_user = form.save()
Run Code Online (Sandbox Code Playgroud)
我正在使用Django 1.8。请让我知道其他信息是否有用。
我正在点击常见的"模型尚未加载"错误,这个错误来自于导入我的应用程序的单独信号文件models.py.我找到了2个关于如何创建AppConfig并在ready()函数中导入信号的简单指南,但我无法使其工作.我正在使用这里的顶部答案以及此博客文章.
部分原因可能是因为我的整个项目都有一个名称,funproj并且大部分代码所在的主应用程序被有效地调用app- 我正在使用Visual Studio和Python Tools for VS并且它生成了这个结构当我创建项目时.这是层次结构:
funproj
|--- __init__.py
|--- setttings.py
|--- urls.py
|
|--app
| |--- __init__.py
| |--- models.py
| |--- signals.py
|
|--otherapp
| |--- __init__.py
| |--- other stuff
Run Code Online (Sandbox Code Playgroud)
这是缩写,但我已尝试在两者之下放置所需的apps.py相关代码,但两种方法都不起作用.这就是我对每一个人的看法:__init.py__funprojapp
apps.py
from django.apps import AppConfig
class FunProjAppConfig(AppConfig):
name = 'app'
def ready(self):
from app import signals
Run Code Online (Sandbox Code Playgroud)
__init.py__补充
#import signals in the app config
default_app_config = 'app.apps.FunProjAppConfig'
Run Code Online (Sandbox Code Playgroud)
app因为它包含了需要加载的信号,所以有了这个代码对我来说更有意义,但是我链接的例子对我来说并不清楚.一个人提到'app目录',但我不确定这是否真的意味着app,或者他们是否正在使用app作为项目的同义词. …
我正在关注 trydjango: coding for enterpreneurs 的 django 教程系列,并且对 django 形式的“模型”和“字段”的作用感到困惑。
模型.py
from django.db import models
# Create your models here.
class SignUp(models.Model):
email=models.EmailField()
full_name=models.CharField(max_length=55, blank=True, null=True)
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
updated=models.DateTimeField(auto_now_add=False, auto_now=True)
def __unicode__(self):
return self.email
Run Code Online (Sandbox Code Playgroud)
表格.py
from django import forms
from .models import SignUp
class SignUpForm(forms.ModelForm):
class Meta:
model=SignUp # ?
fields=['full_name','email'] # ?
def clean_email(self):
email=self.cleaned_data.get('email')
email_base,provider=email.split("@")
domain,extension=provider.split(".")
if not domain == 'USC':
raise forms.ValidationError("Please make sure you use your USC email")
if not extension == "edu":
raise …Run Code Online (Sandbox Code Playgroud) models.py
class Area(models.Model):
area_name = models.CharField(max_length=255, null=False, blank=False)
description = models.TextField(null=False, blank=False)
class AreaPoint(models.Model):
x_axis = models.FloatField(default=0.0)
y_axis = models.FloatField(default=0.0)
area = models.OneToOneField(Area,primary_key=True,on_delete=models.CASCADE)
Run Code Online (Sandbox Code Playgroud)
我尝试了两种方法,但都失败了,请指导我.谢谢
# first method :
# Area.objects.filter(id=304).update(area_name="today is 1", description="today is 1", areapoint__x_axis=111,areapoint__y_axis=222)
# error : Area has no field named 'areapoint__y_axis'
# second method :
obj = Area.objects.get(id=304)
print obj.areapoint.x_axis # 277
print obj.areapoint.y_axis # 65
obj.areapoint.x_axis = 100
obj.areapoint.y_axis = 200
print obj.areapoint.x_axis # 100
print obj.areapoint.y_axis # 200
obj.save()
print obj.areapoint.x_axis # 100
print …Run Code Online (Sandbox Code Playgroud) django ×10
python ×10
python-2.7 ×4
django-forms ×2
ajax ×1
date ×1
django-1.9 ×1
django-orm ×1
formset ×1
jquery ×1
linux ×1
python-3.x ×1
shutil ×1
validation ×1
youtube-api ×1
youtube-dl ×1