Как я могу изменить номер порта сервера приложений django в spyne
Я пытаюсь запустить проект spyne Django soap server на моем компьютере, но я не могу запустить проект, потому что номер порта по умолчанию 8000 уже используется, поэтому я хочу изменить номер порта для django soap server.
соответствующий код:
class Attributes(DjangoComplexModel.Attributes):
django_model = FieldContainer
django_exclude = ['excluded_field']
class HelloWorldService(Service):
@rpc(Unicode, Integer, _returns=Iterable(Unicode))
def say_hello(ctx, name, times):
for i in range(times):
yield 'Hello, %s' % name
class ContainerService(Service):
@rpc(Integer, _returns=Container)
def get_container(ctx, pk):
try:
return FieldContainer.objects.get(pk=pk)
except FieldContainer.DoesNotExist:
raise ResourceNotFoundError('Container')
@rpc(Container, _returns=Container)
def create_container(ctx, container):
try:
return FieldContainer.objects.create(**container.as_dict())
except IntegrityError:
raise ResourceAlreadyExistsError('Container')
class ExceptionHandlingService(DjangoService):
"""Service for testing exception handling."""
@rpc(_returns=Container)
def raise_does_not_exist(ctx):
return FieldContainer.objects.get(pk=-1)
@rpc(_returns=Container)
def raise_validation_error(ctx):
raise ValidationError(None, 'Invalid.')
app = Application([HelloWorldService, ContainerService,
ExceptionHandlingService],
'spyne.examples.django',
in_protocol=Soap11(validator='lxml'),
out_protocol=Soap11(),
)
hello_world_service = csrf_exempt(DjangoApplication(app))
При запуске приложения django укажите порт следующим образом python manage.py runserver 0.0.0.0:8080
чтобы использовать 8080 вместо 8000
Самый простой способ - просто введите необходимый порт для запуска после команды "runserver"
.
например:
python manage.py runserver 7000