所以我正在开发一个Django(1.9)项目,并且需要在多个应用程序中使用相同的模板和静态文件.我知道如何使用存储在每个应用程序外部的模板和静态文件(在settings.py中使用STATICFILES_DIRS和TEMPLATEFILES_DIRS),但我应该在哪里存储它们?
我的猜测是在项目目录中的文件夹中.
home/user/myproject/staticfiles
home/user/myproject/templates
Run Code Online (Sandbox Code Playgroud)
但如果有正式的重新考虑(我在文档中找不到),我宁愿遵守这些.
此外,如果有任何其他建议在正常的django app目录之外使用模板和静态文件,你认为我应该知道,我真的很感谢你告诉我(或告诉我在哪里看).
干杯:)
我知道人们通常会用 给函数赋予任意数量的 kwargs **kwargs,然后将它们作为字典访问;但是,我想显式指定我的函数 kwargs,但仍然能够将它们作为字典访问。
这是因为我希望我的函数仅接收特定的kwargs,但我需要对所有这些函数执行相同的操作,我可以将其放入循环中for。
def my_func(kwarg1=None, kwarg2=None, kwarg3=None):
kwargs = {} # After somehow getting all my kwargs into a dictionary
for k in kwargs:
# Do my operation
Run Code Online (Sandbox Code Playgroud)
我不希望我的函数接收任意数量的kwargs,但我确实kwargs想在字典中访问 my 。
Python 3.5.1和Django 1.9
我在项目中创建了一个自定义用户模型:
from django.db import models
from django.contrib.auth.models import (
BaseUserManager, AbstractBaseUser
)
class UserManager(BaseUserManager):
def create_user(self, username, password=None):
user = self.model(
username=username,
)
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self, username, password):
user = self.create_user(
username,
password=password,
)
user.is_admin = True
user.is_superuser = True
user.save(using=self._db)
return user
# Users
class User(AbstractBaseUser):
username = models.CharField(
unique=True,
max_length=50,
)
bio = models.TextField()
is_active = models.BooleanField(default=True,
verbose_name="Active",
help_text="lorem")
is_admin = models.BooleanField(default=False,
verbose_name="Staff status",
help_text="lorem")
is_superuser = models.BooleanField(default=False,
verbose_name="Superuser status",
help_text="lorem")
objects …Run Code Online (Sandbox Code Playgroud) subprocess.run('export FOO=BAR', shell=True)
Run Code Online (Sandbox Code Playgroud)
这根本行不通,我也不知道为什么。
我想做的所有事情都是通过python(3.5.1)脚本设置环境变量的,当我运行上述代码时,什么也没发生。没有错误出现,并且当我自己检查环境变量时,尚未设置它。
其他的shell命令subprocess.run() 也可以使用,例如ls和pwd,但不起作用export。
.run()是在Python 3.5中添加的(以防您不认识它),但我也尝试了使用.call()和进行上述操作,但.Popen()结果没有变化。
我知道我可以os.environ['FOO'] = "BAR"使用来在python中设置环境变量,但是我将在项目中大量使用shell命令,并且我希望我需要将多个命令串在一起,这将使的使用export变得比容易os.environ。
我的项目将在Linux上运行,这就是我的计算机运行的环境。