Как импортировать проект Django settings.py файл Python от подкаталога?

Ну, вы не можете конвертировать String result = "10+23"; в int, потому что у вас есть + там. Что именно ты пытаешься сделать? Если вы хотите взять 2 строки и получить их результат, то вот код:

String a = "10";
String b = "23";
int result = Integer.parseInt(a) + Integer.parseInt(b);

//The sum of the two values as a String
String calculatedResult = String.valueOf(result);
Log.i("Tag", calculatedResult); //Outputs 33
17
задан Peter Mortensen 12 April 2010 в 18:24
поделиться

3 ответа

Это идет, каждый выравнивает от Вашего вопроса, но вероятно лучшее решение здесь состоит в том, чтобы реализовать Ваши сценарии как пользовательский manage.py (django-admin.py) команды . Это дает Вам всем функциональности Django (включая настройки) бесплатно без ужасного взламывания пути, а также тонкостей командной строки как парсинг опций. Я никогда не видел серьезных оснований, чтобы записать Django-связанным сценариям командной строки любой другой путь.

10
ответ дан 30 November 2019 в 12:51
поделиться

Я думаю, что Ваш подход может сверхусложнять что-то, что Django 1.x предусматривает Вас. Пока Ваш проект находится в Вашем пути Python, можно установить переменную среды DJANGO_SETTINGS_MODULE наверху сценария как так:

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'

В Ваш сценарий командной строки, где необходимо считать настройки, просто импортируйте модуль настроек из 'django.conf', как Вы сделали бы в своем коде приложения:

from django.conf import settings

И престо, у Вас есть свои настройки и Django-поддерживающая среда для Вашего сценария.

я лично предпочитаю устанавливать свой DJANGO_SETTINGS_MODULE с помощью '/usr/bin/env' в сценарии удара, названном 'proj_env', таким образом, я не должен повторять его

#!/bin/bash

proj_env="DJANGO_SETTINGS_MODULE=myproject.settings"

/usr/bin/env $proj_env ${*}

С этим, теперь я могу выполнить любой сценарий Python со своим приложением Django в контексте:

proj_env python -m 'myproject.bin.myscript'

при использовании virtualenv это также дает Вам хорошее место источнику активировать сценарий.

и т.д. и т.д.

16
ответ дан 30 November 2019 в 12:51
поделиться

Добавьте родительский каталог к своему пути:

import sys
sys.path.append('../')
import settings

Обновление из комментариев:

не забывают __init__.py файл в каталоге, который имеет Ваш settings.py †“S.Lott

2
ответ дан 30 November 2019 в 12:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: