我想从用户输入创建一个 Django 应用程序。这是我的代码。
def createAppname(name):
split_name = name.split(" ")
s = "".join(i[0:] for i in split_name)
return s
def formFields(request):
if request.method == 'POST':
app_name = request.POST.get('app')
new_name=createAppname(app_name)
from django.core.management import call_command
call_command('startapp', new_name)
return render(request,'forms_new.html')
return render(request, 'forms_new.html')
当我在开发环境中执行时,代码可以完美运行。但是在生产服务器上部署后,这里我使用的是 apache_mod_wsgi,我收到以下错误。
Traceback (most recent call last):
File "/path/to/env/lib/python3.6/site-packages/django/core/management/templates.py", line 70, in handle
os.makedirs(top_dir)
File "/path/to/env/lib/python3.6/os.py", line 220, in makedirs
mkdir(name, mode)
During handling of the above exception ([Errno 13] Permission denied: '/thisisnewappfromServer'), another exception occurred:
File "path/to/env/lib/python3.6/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/path/to/env/lib/python3.6/site-packages/django/core/handlers/base.py", line 179, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/rohit/Documents/Web_app/project/new_models/views.py", line 70, in formFields
call_command('startapp', new_name)
File "/path/to/env/lib/python3.6/site-packages/django/core/management/__init__.py", line 168, in call_command
return command.execute(*args, **defaults)
File "/path/to/env/lib/python3.6/site-packages/django/core/management/base.py", line 371, in execute
output = self.handle(*args, **options)
File "/path/to/env/lib/python3.6/site-packages/django/core/management/commands/startapp.py", line 14, in handle
super().handle('app', app_name, target, **options)
File "/path/to/env/lib/python3.6/site-packages/django/core/management/templates.py", line 74, in handle
raise CommandError(e)
Exception Type: CommandError at /models/details/
Exception Value: [Errno 13] Permission denied: '/thisisnewappfromServer'
请帮帮我。谢谢。